Удалить приложение из белого списка в Android Marshmallow

Я не нашел полезной информации о том, как программно или с помощью настроек устройства удалить конкретное приложение из белого списка.

В андроиде 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. удалить приложение и установить заново

Проверить текущий список покалистных приложений можно с помощью dumpsys

 adb shell dumpsys deviceidle

Настоящая помощь — изменение имени пакета приложения. У меня такое мнение, что если приложение было занесено в белый список, то его оттуда уже никогда не удалить.

Телефон MeizuU680h. В других устройствах тестов не было.


person user2930077    schedule 01.06.2017    source источник
comment
Пользователь может удалить приложения из белого списка, вернувшись на тот же экран настроек, где они добавили их в белый список.   -  person CommonsWare    schedule 01.06.2017
comment
Я тоже так думал. Но я был во всех вариантах телефона. Не могли бы вы добавить более подробную информацию, куда мне следует обратиться, чтобы отключить приложение для внесения в белый список. Потому что я не нашел таких опций в «Параметры разработчика», «Производительность батареи» или «Приложения». Где находится.?   -  person user2930077    schedule 01.06.2017
comment
В стандартном Android 7.1 это Настройки › Приложения › (значок шестеренки) › Специальный доступ › Оптимизация батареи.   -  person CommonsWare    schedule 01.06.2017
comment
@CommonsWare, вы знаете, можно ли это сделать программно?   -  person Keselme    schedule 18.06.2020
comment
@Keselme: нет поддерживаемого способа сделать это - если бы он был, все бы это делали.   -  person CommonsWare    schedule 18.06.2020


Ответы (2)


Я нашел решение, почему я не нашел кнопку отключения для удаления или оптимизации батареи. Потому что в FlymeCover такой кнопки нет. FlymeCover игнорирует белый список Android и использует собственную оптимизацию.

person user2930077    schedule 01.06.2017

вы можете добавить или удалить из белого списка, набрав это в оболочке ADB

белый список dumpsys deviceidle + YOUR.PACKAGE

Белый список устройств dumpsys - YOUR.PACKAGE

в моем случае мне нужно перезагрузиться и мне не нужен root-доступ

person Edgar    schedule 07.12.2017