У меня есть приложение для регистрации пробега, которое отслеживает GPS и может установить OBDII-соединение с автомобилем в фоновом режиме.
Теперь я хочу показать всплывающее окно, которое информирует пользователей, если мое приложение не занесено в белый список, поскольку это может остановить мои фоновые (на самом деле передний план) службы ...
Я делаю:
String PACKAGE_NAME = getApplicationContext().getPackageName();
PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
boolean status = false;
status = pm.isIgnoringBatteryOptimizations(PACKAGE_NAME);
if (!status) {
// show popup
}
, но PowerManager.isIgnoringBatteryOptimizations всегда возвращает значение «true», даже если оно снова удаляется из «Неоптимизированных приложений». Только если я удалю приложение, «ложь» возвращается снова ...
Протестировано на Galaxy Note 8 (Android 8.0) и эмуляторе 8.1
Вопрос прост: это ошибка? Или как удалить приложение из белого списка, чтобы PowerManager.isIgnoringBatteryOptimizations снова возвращал «false»?