0

我正在尝试将我的包裹添加到打盹白名单中。

使用($ adb shell dumpsys deviceidle whitelist +PACKAGE),我可以将我的包裹添加到白名单中,

这个命令使file /data/system/deviceidle.xml.

现在,我很好奇谁生成deviceidle.xml.

有谁知道deviceidle.xml吗?

4

2 回答 2

1

我在框架模块中找到了线索,

IDeviceController.addPowerSaveWhitelistApp(String name)有助于将我的包裹添加到 ;

此外,/data/system/deviceidle.xml 已更新。


您可以使用 adb dumpsys 检查

$ adb shell dumpsys deviceidle

$ adb shell cat /data/system/deviceidle.xml

于 2018-03-23T08:17:48.773 回答
0

据我所知,打瞌睡白名单是由系统创建者完成的。您可以通过意图操作要求用户加入白名单: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"));
    [...]
}
于 2020-04-28T12:54:37.930 回答