Android: приложение глобальный onPause () и onResume ()?

Есть ли что-то как глобальное приложение onPause() и onResume()?

Мой основной вид деятельности прислушивается к GPS, фиксирует, который я хочу продолжить работать при переключении на другой экран/действие. Для этого я не могу не зарегистрировать мой LocationListener в действии onPause(). Однако я все еще хочу не зарегистрировать своего слушателя GPS при переключении на другое приложение (поэтому сохраните батарею), и снова включение его при возврате моему приложению, независимо в чем экран/действие пользователь в настоящее время находится.

Какие-либо идеи?

15
задан znq 14 January 2010 в 12:43
поделиться

1 ответ

См. 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 только после такого количества бездействия. Это бездействие может быть по любой причине.

12
ответ дан 1 December 2019 в 04:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: