getBestKnownLocation返回一个位置,该位置指示从给定提供程序获得的上一个已知位置修复的数据。这可以在不启动提供程序的情况下完成。请注意,此位置可能已过时,例如,如果设备被关闭并移动到另一个位置。
当最后一个已知的位置在Android中更新时?如果有应用程序侦听位置提供程序,如果没有请求位置的应用程序,然后请求LastKnownLocation(),那么它更新了吗?
发布于 2011-05-13 09:58:34
我认为当手机中的一些程序使用这个函数LastKnownLocation()时,requestLocationUpdates ()正在更新。
发布于 2012-01-07 09:45:57
我做了一些调查:我打开GPS,等待修复。然后我关掉了GPS,开了50公里(31英里)。然后,我使用了从深度深入到位置的代码来获取所有的getLastKnownLocation。我试了两次,第一次是关闭GPS,第二次是打开GPS,但没有修复:
1)当GPS关机时,我得到:网络,正确的定位精度为680 m-提供者:无源(mProvider=network),与上面相同的位置,与上面的提供者相同的时间: gps,位置为null。
因此,我了解到,当gps被关闭时,您将不会从GPS位置提供商那里得到任何getLastKnownLocation。
2)在GPS开启后,我获得:网络,准确定位652米-提供者:无源(mProvider=network),相同位置,与上面提供者相同时间: gps,定位早于2h,精度12米,时间也早于2h。
在这里,我了解到,旧的信息并没有失效,即使很明显,它们是错误的。
因此,总结一下:当提供者处于活动状态时,它会通过getLastKnownLocation存储最后接收到的位置。如果提供程序被停用,您甚至都得不到getLastKnownLocation。请注意,我测试了这与全球定位系统提供商,其他供应商可能会以不同的方式作出反应。
https://stackoverflow.com/questions/5956291
复制相似问题