我试图在doze白名单中添加我的包。
使用($ adb shell dumpsys deviceidle whitelist +PACKAGE)
,我可以在白名单中添加我的包
此命令在 file /data/system/deviceidle.xml.
现在,我很好奇谁生成deviceidle.xml.
是否有人了解deviceidle.xml
?
答案 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"));
[...]
}