Получайте местоположение Android GPS каждые несколько минут

Я хотел бы написать приложение на Android, чтобы загрузить свое местоположение GPS на внешний веб-сайт каждые 5 минут. Это должно иметь минимальное влияние на время автономной работы, но оно также должно работать без какого-либо взаимодействия с пользователем. (Предыстория: я участвую в триатлоне Ironman, который займет у меня около 14 часов, и я хочу транслировать свое местоположение почти в режиме реального времени, но не беспокоиться о том, чтобы возиться с моим телефоном.)

Поэтому моя первоначальная мысль заключалась в том, чтобы написать Сервис, который использует LocationManager.requestLocationUpdates () с minTime 5 минут, но будет ли это на самом деле разбуждать устройство каждые 5 минут, чтобы мой сервис выполнил свою работу?

Похоже, мне также понадобится использовать AlarmManager.setInexactRepeating (), чтобы убедиться, что моя служба неактивна, пока она завершает свою задачу, но как это работает с requestLocationUpdates ()? Должен ли я вместо этого установить minTime = 0 на requestLocationUpdates (), но затем вернуться к спать, как только будет получено следующее обновление?

Любые общие рекомендации относительно того, как разработать это, очень приветствуются. Я компетентный программист на Java и буду использовать Карты Google на сервере для построения своего местоположения, но я довольно новичок в разработке Android, поэтому я в основном ищу план высокого уровня по архитектуре клиентского приложения.

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

http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates%28java.lang.String,%20long,%20float,%20android.location.LocationListener%29

Вы можете указать, как часто вы хотите получать информацию об изменении местоположения с помощью параметра minTime. Однако он не уменьшает потребление батареи. GPS включен, если вы не используете метод removeUpdates независимо от того, как часто вы хотите получать обновления.

Вы можете использовать другой подход: включить GPS, используя метод выше, прочитать одно значение, использовать метод removeUpdates, подождать 5 минут и снова и снова. Задержка между включением и восстановлением местоположения может составлять от нескольких секунд до нескольких минут.