Есть ли что-то вроде приложения
глобальные onPause () и onResume ()?
Нет, извините.
Моя основная деятельность - прослушивание GPS
исправления, которые я хочу продолжить
работает при переключении на другой
экран / активность. Поэтому я не могу
отмените регистрацию моего LocationListener в
Активность onPause (). Однако я все еще
хочу отменить регистрацию моего GPS-слушателя
при переключении на другое приложение
(так экономьте батарею) и поворачивая ее обратно
при возвращении к моей заявке,
независимо от того, какой экран / деятельность
пользователь в данный момент.
Вот один из возможных подходов:
Шаг # 1: Переместите логику LocationListener
в Service
, к которому действия подключаются через локальный шаблон привязки или что-то еще. Также имейте хотя бы один сервисный вызов startService()
, поэтому unbindService()
не заставит Service
исчезнуть (при условии, что вы используете локальный шаблон привязки).
Шаг № 2: Попросите участников позвонить в службу в течение onPause()
и onResume()
.
Шаг № 3: Служба должна вести подсчет невыполненных операций.
Шаг № 4: Когда счетчик ссылок достигнет нуля, попросите службу организовать пробуждение через таймер и TimerTask
. Кроме того, отмените все такие невыполненные TimerTask
, если счетчик ссылок увеличивается.
Шаг № 5: TimerTask
отключить GPS, если он когда-либо будет выполнен.
Суть в том, что вы отключите GPS только после такого количества бездействия. Это бездействие может быть по любой причине.