我正在创建一个应用程序(用于教育目的),它每 30 分钟记录一次用户的位置,并使用户能够查看地图上的所有位置。我不希望更新频率超过 30 分钟,但确实如此。
这就是我所说的requestLocationUpdates
:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 30 * 60 * 1000, 0, pe);
现在,文档清楚地说:
位置更新之间经过的时间永远不会小于 minTime
但我确实在 SO 上看到了一些不同的答案(例如,这个答案)。
似乎只要可以从 GPS 获得更新,我就会得到更新。GPS 图标永远不会关闭,并且更新速率变得大于 1 更新/秒。所以我在这里有两个问题:
- 该
minTime
参数没有达到它的目的,甚至没有作为一个提示(是的,30 分钟更新率的提示导致超过一秒更新......)。那它有什么作用呢? - 还有其他方法吗?我不希望一直启用 GPS,因为它会太快地消耗我的电池。也许我可以安排闹钟每 30 分钟重复一次,然后打电话
requestSingleUpdate
?