Лучшие практики: Получение обновлений местоположения в фоновом режиме
Разработка приложения для Android, которое обновляет местоположение пользователя в фоновом режиме. Теперь для этого Google предоставляют два способа:
Получение последнего местоположения пользователя через функцию getlastlocation(). Диспетчер аварийных сигналов может быть установлен, и с помощью приемника вещания и услуги местоположение может постоянно обновляться. Например:
Запросите периодические обновления у провайдера слияния, как показано здесь
Какой способ является лучшим способом непрерывного получения обновлений местоположения в фоновом режиме, при этом Android не убивает фоновую службу, если пользователь этого не делает?
1 ответ
Второй метод "запрос периодических обновлений местоположения" активен. Это позволяет вам более точно настроить частоту обновлений и при каких обстоятельствах вы будете получать обновления. Вы говорите Android, что хотите так часто обновляться и / или если пользователь переместился более чем на X метров.
Первый метод с использованием getLastLocation()
пассивен Это означает, что вы не можете контролировать частоту или качество обновлений. Вы в основном работаете с запросами на обновление местоположения других приложений. Если есть другие приложения, которые просили частые обновления, то звоните getLastLocation()
даст вам относительно недавнее / точное местоположение. Однако, если другие приложения не запрашивают частые обновления (или, может быть, пользователь вообще не запускает никаких других приложений), звонит getLastLocation()
скорее всего, вернет очень устаревшие (неточные / старые) данные.