打盹白名单和deviceidle.xml

时间:2018-03-22 10:25:44

标签: android whitelist doze

我试图在doze白名单中添加我的包。

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

此命令在 file /data/system/deviceidle.xml.

中进行更改

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

是否有人了解deviceidle.xml

2 个答案:

答案 0 :(得分:0)

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

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

同样,/ data /system/deviceidle.xml也会更新。


您可以查看adb dumpsys

$ adb shell dumpsys deviceidle

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

答案 1 :(得分:0)

据我所知,打ze白名单是由系统创建者完成的。 您可以通过意图操作向用户要求将其列入白名单:Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS。

DeviceIdleController soruce code中,您可以看到它读取了deviceidle.xml。 在构造函数中。如果您知道文件结构并拥有根设备,则可以手动创建和编辑该文件。

  @VisibleForTesting DeviceIdleController(Context context, Injector injector) {
    super(context);
    mInjector = injector;
    mConfigFile = new AtomicFile(new File(getSystemDir(), "deviceidle.xml"));
    [...]
}