我试图限制我的程序每10秒进行一次位置更新,而不是持续更新,以减少电池消耗.当我在室内进行调试并且信号较弱时(即GPS图标闪烁),这可以很好地工作,但是如果手机得到正确的修复(即GPS图标为静态),则更新间隔将增加到大约一秒钟.
我知道代码mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,updateInterval * 1000,0,this);不会强制GPS在给定的时间间隔内进行更新,但我认为它不应该依赖信号的强度而波动很大.
有任何想法吗?
更新:查看评论
解决方法:
我怀疑GPS收音机的工作方式是否与GPS卫星相连或没有.连接后,Android SDK会向您发送更新,该更新的频率可从GPS硬件获得.当它没有完整的GPS连接时,它会根据您的请求退回发送AGPS更新.
如果只想每10秒更新一次,则应将上次收到的Location的时间值保存在侦听器中,当收到新的Location时,请对照旧值检查其时间;如果它太频繁(或做一些更聪明的事情,例如检查准确性和替换旧值等),则可以忽略它.
标签:locationmanager,gps,android
来源: https://codeday.me/bug/20191209/2096273.html