Лучше ли регистрироваться на обновления местоположения в Сервисе или в Activity для Android? - PullRequest
0 голосов
/ 28 марта 2011

В одном из приложений, которое я разрабатываю, я регистрируюсь для обновления местоположения в Сервисе. Это лучший способ сделать это? Логика приложения такова, что Сервис будет активен до приложения.

Иногда я сталкивался с проблемой, скажем, когда служба работала и обновления местоположения работали правильно. Но примерно через 4-5 часов обновление местоположения автоматически прекращается, поэтому я полагаю, что Служба автоматически останавливается системой по прошествии некоторого времени. Пожалуйста, поправьте меня, если я ошибаюсь здесь.

В этом случае мне придется регистрировать слушателя местоположения по активности, а не по службе. Может кто-нибудь сказать мне, правильно ли я это понимаю или нет?

1 Ответ

0 голосов
/ 12 мая 2011

Но примерно через 4-5 часов обновление местоположения автоматически прекращается, поэтому я полагаю, что Служба автоматически останавливается системой по прошествии некоторого времени.

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

В этом случае мне придется регистрировать прослушиватель местоположения по активности, а не по службе.

Когдалюбой слушатель зарегистрирован в контексте действия, при котором слушатель будет работать правильно только тогда, когда действие имеет фокус на пользователя (см. Управление жизненным циклом приложения ).Когда ваша активность приостановлена ​​или убита, то же самое касается и слушания;удаленный сервис - лучший выбор.

...