Есть ли что-то как глобальное приложение onPause()
и onResume()
?
Мой основной вид деятельности прислушивается к GPS, фиксирует, который я хочу продолжить работать при переключении на другой экран/действие. Для этого я не могу не зарегистрировать мой LocationListener
в действии onPause()
. Однако я все еще хочу не зарегистрировать своего слушателя GPS при переключении на другое приложение (поэтому сохраните батарею), и снова включение его при возврате моему приложению, независимо в чем экран/действие пользователь в настоящее время находится.
Какие-либо идеи?
См. RFC2616 - Протокол передачи гипертекста -- HTTP/1.1 , раздел 4,3 «Тело сообщения»:
Тело сообщения НЕ ДОЛЖНО включаться в запрос, если спецификация метода запроса (раздел 5,1,1) не позволяет отправлять тело объекта в запросах.
В разделе 9.3 «GET», включая объект-тело, не запрещается.
Таким образом, да, вы можете отправить объект-тело с HTTP-запросом GET.
-121--2151532-Он не должен быть основан только на неизменяемых полях. Я бы основывал его на полях, которые определяют результат метода равенства.
-121--1134617-Есть ли что-то вроде приложения global onPause () и onResume ()?
Нет, извините.
Основное действие прослушивает GPS исправления, которые я хочу продолжить работа при переходе на другой экран/активность. Поэтому я не могу отменить регистрацию моего LocationListener в действие onPause (). Однако я все еще хотите отменить регистрацию прослушивателя GPS при переключении на другое приложение (так что сэкономьте аккумулятор) и поверните его назад при возврате в мое приложение, независимо от того, какой экран/действие пользователь в данный момент.
Вот один возможный подход:
Шаг # 1: Переместите логику LocationListener
в службу Service
, к которой действия подключаются через локальную привязку образца или что-то подобное. Также есть по крайней мере один вызов службы startService ()
, поэтому unbindService ()
не приведет к удалению Service
(при условии, что используется локальный образец привязки).
Шаг No2. Действия вызываются в службу во время onPause ()
и onResume ()
.
Шаг # 3: выполните ведение ссылочного количества незавершенных операций.
Шаг # 4: Когда число ссылок достигнет нуля, служба должна быть упорядочена для пробуждения через таймер и TimerTask
. Кроме того, отмените любое такое ожидающее TimerTask
, если число ссылок увеличивается.
Шаг # 5: отключите GPS TimerTask
, если он когда-либо будет выполнен.
Сеть заключается в том, что Вы будете освобождать GPS только после такого количества бездействия. Это бездействие может быть по любой причине.