我正在尝试将我的包裹添加到打盹白名单中。
使用($ adb shell dumpsys deviceidle whitelist +PACKAGE)
,我可以将我的包裹添加到白名单中,
这个命令使file /data/system/deviceidle.xml.
现在,我很好奇谁生成deviceidle.xml.
有谁知道deviceidle.xml
吗?
我在框架模块中找到了线索,
IDeviceController.addPowerSaveWhitelistApp(String name)
有助于将我的包裹添加到 ;
此外,/data/system/deviceidle.xml 已更新。
您可以使用 adb dumpsys 检查
$ adb shell dumpsys deviceidle
$ adb shell cat /data/system/deviceidle.xml
据我所知,打瞌睡白名单是由系统创建者完成的。您可以通过意图操作要求用户加入白名单:Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS。
在DeviceIdleController 源代码中,您可以看到它在构造函数中读取 deviceidle.xml。可能是这样,如果您知道文件结构并拥有根设备,您可以手动创建和编辑此文件。
@VisibleForTesting DeviceIdleController(Context context, Injector injector) {
super(context);
mInjector = injector;
mConfigFile = new AtomicFile(new File(getSystemDir(), "deviceidle.xml"));
[...]
}