我没有找到有用的信息如何以编程方式或使用设备设置从白名单中删除特定应用程序。
在 android 6.0 中引入了 doze-mode 和 while-listed,最后一个术语允许忽略部分 doze-mode。
要将应用程序放入白名单应用程序需要执行代码:
Intent intent = new Intent();
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
我尝试了下一步操作以将应用程序从刚刚放入的白名单中删除,但没有任何帮助:
- 在设置中清除数据应用
- 删除应用程序并重新安装
要检查同时列出的应用程序的当前列表,可以使用 dumpsys
adb shell dumpsys deviceidle
真正的帮助是更改应用程序的包名称。我的观点是,如果应用程序被列入白名单,那么它就永远不能从那里删除。
手机魅族U680h。在另一台设备上没有测试。