我正在创建一个应用程序(用于教育目的),它每 30 分钟记录一次用户的位置,并使用户能够查看地图上的所有位置。我不希望更新频率超过 30 分钟,但事实确实如此。
这就是我的称呼requestLocationUpdates
:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 30 * 60 * 1000, 0, pe);
现在,文档明确指出:
位置更新之间的经过时间永远不会小于 minTime
但我确实在这里看到了一些答案,说明不同(这个答案 https://stackoverflow.com/a/4536911/797390, 例如)。
似乎只要 GPS 提供更新,我就会收到更新。 GPS 图标永远不会关闭,并且更新率大于每秒 1 次更新。所以我这里有两个问题:
- The
minTime
参数没有实现其目的,甚至作为提示也没有(是的,30 分钟更新率的提示会导致超过一秒的更新......)。那它有什么作用呢?
- 还有其他方法吗?我不想一直启用 GPS,因为它会太快消耗我的电池。也许我可以安排闹钟每 30 分钟重复一次,然后打电话
requestSingleUpdate
?
minTime 参数没有实现其目的,甚至没有作为提示(是的,30 分钟更新率的提示会导致超过一秒的更新......)。那它有什么作用呢?
从 Jellybean 开始,设备必须遵守minTime
参数,所以它确实有一个目的(现在)。
还有其他方法吗?我不想一直启用 GPS,因为它会太快消耗我的电池。也许我可以安排闹钟每 30 分钟重复一次,然后调用 requestSingleUpdate?
是的,使用 Handler 来请求一次更新requestSingleUpdate()
每 30 分钟一班。
我之前已经解决过这个问题上一个问题 https://stackoverflow.com/q/13093613/1267661,请告诉我该答案中的代码是否有帮助,以及如果您有任何它未解决的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)