Жизненный цикл приложения Android - обнаружение сна - PullRequest
0 голосов
/ 18 октября 2019

У меня есть приложение, использующее GPS, и GPS может быть достаточно энергоемким, как и экран.

Что я хочу сделать, это перевести экран в спящий режим, чтобы уменьшить потребление энергии (например, тайм-аут дисплеяили с помощью кнопки питания), но приложение должно работать в фоновом режиме.

Однако, если я явно переместил приложение с переднего плана, вернувшись к оболочке / запустив или перезапустив другое приложение. , затем я хочу, чтобы GPS остановился.

Проблема в том, что я не могу их различить. Во всех случаях, когда приложение перемещается с переднего плана на задний план (например, кнопка питания, чтобы убить экран или вернуться к оболочке), оно проходит через onPause (), а затем onStop (). Всякий раз, когда он запускается, он запускается через onStart (), затем onResume () (которому предшествует onRestart (), если он уже запущен, или onCreate (), если нет).

Так что, похоже, нет никакого способа посмотретьпри обратных вызовах жизненного цикла, чтобы определить, был ли выключен только экран, или он вернулся в оболочку / работает другое приложение - это просто простой передний план или нет разницы в состоянии.

Есть ли способ обнаруженияразница?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...