Android 信号良好时GPS更新间隔更快?

Android 信号良好时GPS更新间隔更快?,android,gps,locationmanager,Android,Gps,Locationmanager,我试图限制我的程序每10秒更新一次位置,而不是不断更新,以减少电池消耗。当我在室内调试且信号弱(即GPS图标闪烁)时,此功能可以正常工作,但如果手机得到正确的修复(即GPS图标静止),则更新间隔将增加到大约1秒 我知道代码mLocationManager.requestLocationUpdates(LocationManager.GPS\u提供程序,updateInterval*1000,0,this)不会强制GPS在给定的时间间隔内准确地进行更新,但在我看来,它不应该依赖于信号的强度和波动太

我试图限制我的程序每10秒更新一次位置,而不是不断更新,以减少电池消耗。当我在室内调试且信号弱(即GPS图标闪烁)时,此功能可以正常工作,但如果手机得到正确的修复(即GPS图标静止),则更新间隔将增加到大约1秒

我知道代码
mLocationManager.requestLocationUpdates(LocationManager.GPS\u提供程序,updateInterval*1000,0,this)
不会强制GPS在给定的时间间隔内准确地进行更新,但在我看来,它不应该依赖于信号的强度和波动太大

有什么想法吗


更新:请参阅注释

可能是因为您正在调试,而不是因为您的信号弱,所以它的工作速度较慢!试着在室内用断开的调试器进行测试…

我怀疑GPS无线电的工作方式是连接到GPS卫星还是不连接。连接后,Android SDK会尽可能频繁地向您发送GPS硬件提供的更新。当它没有完整的GPS连接时,它会根据您的请求返回发送AGPS更新


如果您只希望每10秒更新一次,则应将上次收到的
位置
的时间值保存在侦听器中,并在收到新的
位置
时对照旧值检查其时间;如果它太频繁,请忽略它(或者做一些更聪明的事情,如检查准确性和替换旧值等)。

好主意,但我在笔记本电脑上,所以到处调试:)还尝试了一个没有调试器和aLogCat应用程序的构建,同样的事情也发生了。哇,升级到Froyo(2.2)后,updateInterval似乎没有任何作用!我不断得到GPS更新,这对我的数据库造成了严重破坏。建议?你的怀疑是对的。在2.1版本中,系统本身根据更新间隔过滤GPS位置,并且没有将额外信息传递给LocationManager,但我仍然可以在logcat中看到它们。在2.2上,所有GPS定位都会传递给LocationManager(显然)。然而,由于使用updateInterval不会节省任何电池(或者看起来是这样),我将测试您的方法并报告。是的,由于没有更好的选项,我不得不使用基于计时器的解决方案来打开/关闭GPS位置接收。