Я хочу получать данные gps, как каждые 3 минуты от службы в течение длительного времени (3-4 часа). Все работает отлично, но у меня есть некоторые вопросы, на которые лучше всего подходит время работы от батареи.Android: получить GPS-местоположение из службы в фиксированной интервал
Запустите службу, внутри OnCreate службы создают Блокировка частичного включения, запустить таймер, который выполняется каждые 3 минуты. Получить данные позиции из таймера. Когда услуга остановлена (через 3-4 часа) отпустите блокировку слежения.
Используйте AlarmManager для запуска службы каждые 3 минуты. Внутри службы создайте частичный wakelock, получите данные о местоположении и затем отпустите блокировку слежения и остановите службу.
То же, что и # 1, но вместо таймера устанавливают интервал через метод requestLocationUpdates(). (Причина, по которой мне не нравится этот метод, заключается в том, что когда я использую таймер, я могу получить 5 позиций (каждые 3 минуты) и выбирать наиболее точные, но когда я устанавливаю интервал с requestLocationUpdates(), я получаю только одну позицию, которые могут быть неточными, или я ошибаюсь?)
мне не нравится идея оставив Блокировка частичного включения в течение 3-4 часов, вот почему я думаю, что # 2 может быть лучшим решением.
AFAIK мин времени между обновлениями лишь намек, который может или не может быть implemente d для данного устройства. – Stefan