Когда я запускаю свое приложение на устройстве (Google Pixel 2) с Android 9 Pie и включаю (или выключаю) функцию экономии заряда батареи, вся деятельность немедленно возобновляется.
Когда я включаю функцию экономии заряда батареи на более низких версиях Android, таких как 6, 7 и 8, приложение продолжает работать без перезапуска. Можно ли предотвратить эти перезапуски на Android 9 тоже?
Я исследовал его и обнаружил, что при включении функции экономии заряда аккумулятора даже новый ночной режим автоматически включается. Поэтому я попытался включить только «Ночной режим» через «Настройки - Параметры разработчика», и он возобновил работу так же, как и включение Battery Saver. Так что этот перезапуск может быть вызван ночным режимом.
Примечание: не путайте «Ночной свет», «Темная тема» и «Ночной режим», это разные вещи, и проблема только в «Ночном режиме».
Это трассировка стека от отладчика, где видно, что ОС пытается перезапустить активность, останавливая ее (а затем снова создает).
onStop:579, MyActivity (com.mypackage)
callActivityOnStop:1432, Instrumentation (android.app)
performStop:7375, Activity (android.app)
callActivityOnStop:4181, ActivityThread (android.app)
handleRelaunchActivityInner:4796, ActivityThread (android.app)
handleRelaunchActivity:4732, ActivityThread (android.app)
execute:69, ActivityRelaunchItem (android.app.servertransaction)
executeCallbacks:108, TransactionExecutor (android.app.servertransaction)
execute:68, TransactionExecutor (android.app.servertransaction)
handleMessage:1816, ActivityThread$H (android.app)
dispatchMessage:106, Handler (android.os)
loop:193, Looper (android.os)
main:6718, ActivityThread (android.app)
invoke:-1, Method (java.lang.reflect)
run:493, RuntimeInit$MethodAndArgsCaller (com.android.internal.os)
main:858, ZygoteInit (com.android.internal.os)
Я прочитал здесь https://developer.android.com/about/versions/pie/power,, что на новом Android есть некоторые изменения в Battery Saver, но я не нашел никаких деталей и каких-либо советов по устранению возможных проблем.
Не могли бы вы помочь мне?
Фактический результат : я запускаю свое приложение и включаю / выключаю функцию экономии заряда батареи -> все основные действия перезапускаются, поэтому он останавливается, а затем пытается запустить его как вновь созданный.
Ожидаемый результат : я запускаю свое приложение и включаю / выключаю батарею -> с моим приложением ничего не происходит, оно продолжает свою основную деятельность, так как ничего не происходит.
Заранее спасибо.