Я не нашел полезной информации о том, как программно или с помощью настроек устройства удалить конкретное приложение из белого списка.
В андроиде 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
Настоящая помощь — изменение имени пакета приложения. У меня такое мнение, что если приложение было занесено в белый список, то его оттуда уже никогда не удалить.
Телефон MeizuU680h. В других устройствах тестов не было.