问题标签 [power-saving]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何检测休眠/省电键被按下C#
我有一个键盘(CHERRY KC 1000),它有一些多媒体键,如计算器、邮件、浏览器和一个省电/休眠键(这取决于 Windows 中的节能设置中的哪个设置。
现在我想写一个小应用程序来带回一些多媒体键。我早期的键盘有多媒体键,例如下一曲目、停止和静音。我可以控制它并检测除键盘右上角的省电键之外的所有键。按下此键时如何调用方法。关键事件在省电/节能设置中设置为“无操作”。设置“什么都不做”时是否可以检测到按键被按下?我在网上找不到解决方案。
android - 当应用程序处于后台时如何保持 GPS 接收器位置更新(Google Play 服务位置 API)
对不起,这是一个很长的问题,但我希望你们中的一位专家可以帮助一个正在悄悄发疯的新手!
我有一个 Android 应用程序,它使用后台服务每 20 秒获取一次 GPS 修复(使用 Google Play 服务)。它将纬度和经度与列表中的纬度和经度进行比较,如果找到匹配项,它会向接收器发送广播,触发前台活动以提醒用户。
我使用后台服务是因为用户警报之间通常有 2 到 20 分钟的间隔,而在这之间,没有用户交互。该应用程序使用前台活动让用户选择他想要的选项,但随后关闭所有前台活动,只留下后台活动运行。
这在我的旧设备上的 Android 4.3 上运行良好,但我现在正在更新它在 Android 8 (Oreo) 上运行(在 Sony Xperia XZ1Compact 上测试它)。我已经添加了
到清单,这导致应用程序在首次运行时请求许可。然后,我的设备设置将应用程序显示为允许省电例外。
后台服务的代码(抱歉有很多,但我已将其全部包括在内,以防相关!)如下
只要应用程序的前台活动之一打开且可见,它就可以正常工作。使用 logcat 进行跟踪显示后台服务正在获取 GPS 修复,并且 onLocationChanged 下的代码(参见上面的代码)每 20 秒运行一次。
该应用程序仍然可以正常工作,并且 onLocationChanged 方法仍然每 20 秒运行一次,如果我允许我的应用程序关闭其所有前台活动并仅运行上面的后台服务,只要另一个(完全不相关的)应用程序调用 GPS位置是开放和可见的。
但是,如果我没有在屏幕上看到任何使用 GPS 的应用程序,则 GPS 跟踪将停止;onLocationChanged 方法不再运行,我不再获得 GPS 修复。
如果我随后打开我的应用程序的一个前台活动,GPS 跟踪将再次启动,显示后台服务尚未被终止。
我假设这与为实现省电/打盹模式所做的更改有关,而我只是没有正确理解它。但是,我能找到的所有建议似乎都表明,只要设备的白名单中允许作为例外,后台服务就会继续工作,但这显然没有发生。
让后台服务工作是我的首选,因为这意味着编写新代码的工作量最少!但是,对类似问题的一些回复建议使用带有通知的前台服务。这是否符合我的要求,即在大多数情况下不可见用户界面(可能通知除外),只提示用户每隔几分钟做一些事情,但同时让他或她可以自由地做其他事情?它在旧版本的 Android 中也能正常工作吗?
谁能比我更了解这一点(可能不比我更好地理解它!)请帮忙?
android - Android 9:如何通过省电模式和屏幕关闭获取位置
正如官方记录的那样,Android 9 对省电模式进行了多项改进。例如,当屏幕关闭时,定位服务可能会被禁用。见https://developer.android.com/about/versions/pie/power#battery-saver
我在 Pixel 2 上对其进行了测试。具体而言,当激活省电模式并关闭屏幕时,系统会停止 LocationManager(调用 GnssStatus.Callback onStopped())。
当屏幕关闭并启用省电模式时,是否有另一种获取位置的方法?你知道大玩家是怎么做的吗(Strava,...)?
谢谢你的帮助!
android - 请求忽略电池优化后如何手动更改电池优化设置?
我使用以下代码请求忽略应用程序的电池优化。我可以成功请求许可。我可以使用 isIgnoringBatteryOptimizations() 检测应用程序是否在系统的白名单中。
我可以看到一个对话框,例如“让应用程序始终在后台运行?”,然后单击“是”。我假设它会将我的应用程序添加到系统电池优化白名单中。
这是我的问题。文档提到用户可以在Settings > Battery > Battery Optimization中手动配置列表。所以我希望一旦我请求并授予权限,我可以在系统设置中看到它,并且我应该能够手动删除它。但我什么也看不见。我看不到请求与系统设置中的列表之间有任何关系。
他们共享相同的列表吗?如果它们不相同,它们是否等效?
azure - 在公共 IP 访问上自动启动 Azure 虚拟机很热门?
在 Azure 上,似乎可以根据 CPU 利用率自动停止 VM
为了有效地节省成本,我需要在下次访问其公共 IP 地址时自动启动 VM。
这是一个每周只有几个小时使用时间的服务器,而且它们很集中,所以这可能意味着大约 10 倍的成本降低......
ios - 如何在应用程序处于后台时检查低电量模式设置
我的应用程序具有在设备处于后台时工作的功能。我遇到了一个问题,如果用户关闭/打开低功耗模式,我需要更改功能,但如果应用程序在后台,我不确定如何执行此操作。有没有办法在应用程序处于后台时每次更改低功耗模式设置的状态?
这是我要用于检查低功耗模式的代码:
python - Raspberry pi 中的功耗为零 w
我将 Raspberry Pi zero w 用于我的项目,该项目将使用 2600mah 电池运行。Pi 与 CSI 摄像头、Telit GPS、ADC 接口。还将 Pi 配置为接入点和 BLE 外围设备。
所有这些都是通过 BLE android 应用程序控制的。当从 BLE 应用程序按下特定开关时,相机会拍照,GPS 会给出位置。
我不知道需要在哪个时间间隔进行位置跟踪,这取决于用户。所以,我在睡眠模式和全功率模式下切换 GPS 以节省功耗。
连接 BLE 应用程序时,GPS 处于睡眠模式,电池电量持续监测,消耗 180 至 210 mA。
如何降低功耗以优化电池使用?
从一些关于 RPi 功耗的文章来看,它应该消耗大约 100 mA 甚至更少。我的应用程序是否可以达到这个水平?
windows - 我可以防止 Windows 计算机在某些情况下进入睡眠状态吗?
我有一台通常用于渲染的 Windows 10 计算机。因此,无论用户输入如何(即整夜),当 CPU 或 GPU 以高容量运行时,计算机都不要进入任何类型的省电模式,这一点至关重要。所以通常,我只是关闭所有省电功能。
为了节省能源,我仍然希望计算机在内部空闲时进入睡眠或休眠模式(例如:过去 20 分钟内 CPU/GPU 的平均利用率 < 20%)。有没有办法做到这一点?
谢谢你的支持!
android - How to track (if possible) an Android device (latest versions) in the background at regular intervals?
Premise
The user should always be informed of the use of his sensitive data (like collecting the location in the background), this question aims to better understand the latest limitations introduced on Android use of location and background operations.
Problem
Is it still possible (on Android latest versions) to create a location tracking service that would keep tracking the device location no matter the application state (foreground / background) nor the device state (doze or standby mode, app buckets) in order to be able to collect location in a consistent way ?
Assuming that the GPS and internet connection are enabled and available, is it possible to collect the location, let's say every 10 minutes, or the device going to doze mode or standby will anyway restrict the app possibilities after some time and defer the operations (like network operations), making it impossible to keep getting regular location updates ?
On latest android versions, starting from Android 8.0 (API 26), new ways to improve battery performance and secure the users privacy have been introduced:
What I tried
From my understanding, a foreground service looks like the best option:
- keep informing the user (notification)
- the system does not kill the service after a few seconds (as for background services starting from API 26)
- less likely to get stopped by the system (START_STICKY flag to restart otherwise)
- can acquire a wake lock
Still it seems that the app needs to be whitelisted to avoid battery optimisations and even battery optimisation need to be disabled in order for the service not to be stopped/deferred.
Expected result
Receive location updates at regular intervals, every 10 minutes for instance
android - 如何检测 iOS 和 Android 是否处于省电模式并向正文添加 CSS 类?
背景视频不适用于启用省电模式的移动设备。
我想检测页面何时在启用节能功能的设备上运行并添加一个正文类,这样我就可以通过 CSS 隐藏做我想做的事情。我们怎么能不隐藏这个PLAY按钮。