我试图限制我的程序每 10 秒更新一次位置,而不是不断更新,以减少电池消耗。当我在室内调试且信号较弱(即 GPS 图标闪烁)时,此方法工作正常,但如果手机得到正确修复(即 GPS 图标静态),更新间隔会增加到大约一秒。
我知道代码mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, updateInterval*1000, 0, this);
不会强制 GPS 在给定的时间间隔内准确地进行更新,但在我看来,它不应该依赖于信号的强度并且波动那么大。
有任何想法吗?
更新:见评论
我怀疑 GPS 无线电的工作方式要么连接到 GPS 卫星,要么不连接。连接后,Android SDK 会按照 GPS 硬件提供的更新频率向您发送更新。当它没有完整的 GPS 连接时,它会根据您的请求发送 AGPS 更新。
如果您只想每 10 秒更新一次,则应该保存最后收到的Location
的时间值在你的听众中,当你收到一个新的Location
根据旧值检查其时间;如果它太频繁,请忽略它(或者做一些更聪明的事情,例如检查准确性和替换旧值等)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)