Существует ли системная трансляция, когда пользователь переключает «Фоновое ограничение» для приложения в Android? - PullRequest
1 голос
/ 21 мая 2019

Чтобы переключить «Фоновое ограничение» в телефоне Android (Oreo +), пользователь может перейти к: Настройки приложения -> Дополнительно -> Батарея -> Фоновое ограничение.

Если отключено, приложение больше не будетиметь возможность запускать фоновые службы, пока приложение находится в фоновом режиме.Это сэкономит заряд батареи.

Однако это вызывает сбой, когда приложение возвращается на передний план.

Я не могу найти намеренное широковещательное действие для прослушивания этого события в документации Android https://developer.android.com/reference/android/content/Intent.html

Кто-нибудь знает, как я могу обнаружить это изменение разрешения?

1 Ответ

0 голосов
/ 13 июля 2019

Вы можете использовать этот API https://developer.android.com/reference/android/app/ActivityManager#isBackgroundRestricted()

    ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
        Log.d("TEST", "onCreate: activityManager.isBackgroundRestricted() = " + activityManager.isBackgroundRestricted());
    }

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

...