我正在尝试查找是否可以以编程方式启用和/或禁用Android的内置“省电模式”。
任何官方的方法或欺骗都是值得欢迎的。
作为参考,以下是在Android 5.0中遵循标准UI的方法:http : //www.androidcentral.com/android-50-lollipop-basics-how-get-more-life-between-charges-battery-saver
我知道您可以检测到-这不是我所追求的。
谢谢大家
您可以在有根设备上以编程方式启用/禁用省电模式。您必须low_power
在global
表的/data/data/com.android.providers.settings/databases/settings.db
文件中编辑该值。
如果您的设备支持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上拔下电话,否则系统将禁用Energy Saver。在WiFi或Android终端(仿真器)上使用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中,我没有找到它。在Android 7.1.1_r13中,low_power仍在内部使用(例如,此处),但是在某些Android版本中可能会更改。您可能要继续检查在例如改变这个和这个文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句