Лучшие практики: Получение обновлений местоположения в фоновом режиме

Разработка приложения для Android, которое обновляет местоположение пользователя в фоновом режиме. Теперь для этого Google предоставляют два способа:

  1. Получение последнего местоположения пользователя через функцию getlastlocation(). Диспетчер аварийных сигналов может быть установлен, и с помощью приемника вещания и услуги местоположение может постоянно обновляться. Например:

  2. Запросите периодические обновления у провайдера слияния, как показано здесь

Какой способ является лучшим способом непрерывного получения обновлений местоположения в фоновом режиме, при этом Android не убивает фоновую службу, если пользователь этого не делает?

1 ответ

Решение

Второй метод "запрос периодических обновлений местоположения" активен. Это позволяет вам более точно настроить частоту обновлений и при каких обстоятельствах вы будете получать обновления. Вы говорите Android, что хотите так часто обновляться и / или если пользователь переместился более чем на X метров.

Первый метод с использованием getLastLocation() пассивен Это означает, что вы не можете контролировать частоту или качество обновлений. Вы в основном работаете с запросами на обновление местоположения других приложений. Если есть другие приложения, которые просили частые обновления, то звоните getLastLocation() даст вам относительно недавнее / точное местоположение. Однако, если другие приложения не запрашивают частые обновления (или, может быть, пользователь вообще не запускает никаких других приложений), звонит getLastLocation() скорее всего, вернет очень устаревшие (неточные / старые) данные.

Другие вопросы по тегам