gpt4 book ai didi

android - 每隔几分钟获取一次 Android GPS 位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:04 25 4
gpt4 key购买 nike

我想在 Android 上编写一个应用程序,每大约 5 分钟将我的 GPS 位置上传到外部网站一次。这需要对电池生命周期的影响尽可能小,但它也需要在没有任何用户交互的情况下工作。 (背景:我正在参加大约需要 14 小时才能完成的铁人三项比赛,我想近乎实时地广播我的位置,但又不必担心摆弄我的手机。)

所以我最初的想法是编写一个使用 LocationManager.requestLocationUpdates() 且最小时间为 5 分钟的服务,但这实际上会每 5 分钟唤醒一次设备以便我的服务完成它的工作吗?

听起来我还需要使用 AlarmManager.setInexactRepeating() 来确保我的服务在完成任务时处于唤醒状态,但是这与 requestLocationUpdates() 有何关系?我是否应该改为在 requestLocationUpdates() 上设置 minTime=0,然后在获得下一个更新后立即返回 sleep 状态?

非常感谢任何关于如何设计它的一般指导。我是一名称职的 Java 程序员,将在服务器上使用 Google map 来绘制我的位置,但我对 Android 开发还很陌生,所以我基本上是在寻找有关如何构建客户端应用程序的高级计划。

最佳答案

您的服务必须始终处于 Activity 状态以接收更新。

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

您可以通过 minTime 参数确定您希望多久收到一次位置更改通知。但是,它不会减少电池消耗。除非您使用 removeUpdates 方法,否则将启用 GPS,无论您希望多久接收一次更新。

您可以使用另一种方法:使用上述方法启用 GPS,读取一个值,使用 removeUpdates 方法,等待 5 分钟,然后重新开始。启用和检索位置之间的延迟可能在几秒到几分钟之间。

关于android - 每隔几分钟获取一次 Android GPS 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3548095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com