PowerManager.isIgnoringBatteryOptimizations всегда возвращает true, даже если он удален из «Неоптимизированных приложений» - PullRequest
0 голосов
/ 08 мая 2018

У меня есть приложение для регистрации пробега, которое отслеживает 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»?

...