我想在 Android 上编写一个应用程序,每隔约 5 分钟将我的 GPS 位置上传到外部网站一次。这需要对电池寿命的影响尽可能小,但它也需要在没有任何用户交互的情况下工作。(背景:我正在参加一项铁人三项全能比赛,这需要我大约 14 小时才能完成,并且想要近乎实时地广播我的位置,而不必担心摆弄我的手机。)
所以我最初的想法是编写一个使用 LocationManager.requestLocationUpdates() 的服务,其 minTime 为 5 分钟,但这实际上会每 5 分钟唤醒一次设备以让我的服务完成其工作吗?
听起来我还需要使用 AlarmManager.setInexactRepeating() 来确保我的服务在完成任务时处于唤醒状态,但它如何与 requestLocationUpdates() 一起使用?我是否应该在 requestLocationUpdates() 上设置 minTime=0 但在获得下一个更新后立即进入睡眠状态?
非常感谢任何有关如何设计它的一般指导。我是一名称职的 Java 程序员,将在服务器上使用 Google Maps 来绘制我的位置,但我对 Android 开发还很陌生,所以我基本上是在寻找关于如何构建客户端应用程序的高级计划。