以编程方式启用/禁用“省电模式”

我试图find如果我可以编程启用和/或禁用Android的内置“省电模式”模式。

任何官方的方法,或欺骗,是受欢迎的。

作为参考,下面是如何在5.0的Android标准UI中执行此操作: http : //www.androidcentral.com/android-50-lollipop-basics-how-get-more-life-between-charges-battery-saver

我知道你可以发现它 – 这不是我所追求的。

谢谢大家。

Solutions Collecting From Web of "以编程方式启用/禁用“省电模式”"

您可以在根用户设备上以编程方式启用/禁用“节电器”。 您必须在/data/data/com.android.providers.settings/databases/settings.db文件中编辑global表中的low_power值。

如果您的设备支持settings命令,则可以执行(以root身份):

 settings put global low_power 1 

使节能和节能

 settings put global low_power 0 

禁用它。 如果没有,请使用sqlite3命令:

 sqlite3 /data/data/com.android.providers.settings/databases/settings.db "update global set value='1' where name='low_power';" sqlite3 /data/data/com.android.providers.settings/databases/settings.db "update global set value='0' where name='low_power';" 

请记住,您必须首先从PC上拔下手机,否则系统将禁用节能。 通过WiFi或Androidterminal(仿真器)使用ADB。

更新:

sqlite3方法似乎不再可靠。

我不知道如果android.os.action.POWER_SAVE_MODE_CHANGED广播得到发送。 也许你必须手动发送它,就像从这里的代码:

private static String COMMAND_ENABLE = "settings put global low_power 1\n" + "am broadcast -a android.os.action.POWER_SAVE_MODE_CHANGED --ez mode true\n"; private static String COMMAND_DISABLE = "settings put global low_power 0\n" + "am broadcast -a android.os.action.POWER_SAVE_MODE_CHANGED --ez mode false\n";

此外,据报道,在设置数据库中出现了一个新的power_saving条目,但在Android 6.0.1中,我还没有设法find它。 在Android 7.1.1_r13中,low_power仍然在内部使用( 在此处为 fe),但是在某些Android版本中可能会更改。 你可能想要不断检查这个和这个文件的变化。

你不能没有根植你的手机。 我不确定为什么会出现这种情况,尤其是在SdkVersion 23+以来需要定位服务来查看扫描结果的情况下。

这个问题很透彻。 https://code.google.com/p/android/issues/detail?id=185370

最好的答案是应用程序开发人员被迫为他们的谷歌代表人群提供源代码networking位置。 注意,操作系统本身在没有定位服务的情况下显示扫描结果没有问题。

揭示没有位置服务不活动的情况下,没有GPS的地点服务是无法开启的。 这两步洗牌是用户的主要质量问题。 打开位置服务,然后closuresGPS。

看这个空间,更多的locking在路上。