从 android marshmallow 的白名单中删除应用

Remove app from whitelist in android marshmallow

我没有找到有关如何以编程方式或使用设备设置从白名单中删除特定应用程序的有用信息。

在 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);

我尝试了下一步操作以将应用程序从白名单中删除,它刚刚被列入白名单,但没有任何帮助:

  1. 在设置中清除数据应用
  2. 删除应用程序并 重新安装

要检查 while-listed 应用程序的当前列表,可以使用 dumpsys

 adb shell dumpsys deviceidle

真正的帮助是更改应用程序的包名称。 我有一个意见,如果应用程序被列入白名单,那么它永远不会从那里被删除。

Phone魅族U680h。在其他设备上还没有测试。

我找到了为什么我找不到禁用按钮来移除或优化电池的解决方案。因为这样的按钮在 FlymeCover 中丢失了。 FlymeCover 忽略android 白名单并使用自己的优化。

您可以在 ADB shell

上键入此内容来添加白名单或从白名单中删除

dumpsys deviceidle 白名单 +YOUR.PACKAGE

dumpsys deviceidle 白名单 -YOUR.PACKAGE

在我的情况下,我需要重新启动并且不需要 Root 访问权限