启用 GPS 后,GPS 需要一段时间才能准备就绪。因此,使用此代码可能会获得已过时的位置:
位置 = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
我无法使用已过时的位置。我怎样才能获得我需要的位置?
这是一个类似的问题:Android:getLastKnownLocation 已过时 - 如何强制位置刷新?
从中,我可以使用 LocationListener 获取更新的位置,该位置应该不会过时。这是正确的。但我该如何处理这种情况:
我已经启用了 GPS,然后启动我的应用程序。如果我停留在一个地方并且不移动,那么 onLocationChanged() 将不会被调用。所以我不能用这个方法来判断getLastKnownLocation()的返回值是否没有过期?
有任何想法吗?
如何获取未过时的位置?
你打电话requestLocationUpdates()
minTime 为 1000 ms,对于每个Location
in onLocationChanged()
,你打电话给getAccuracy()
。如果您可以接受准确度,请致电removeUpdates()
.
所以我无法用这个方法来判断getLastKnownLocation()的返回值是否没有过时
我认为它返回的 Location 对象将包含一个时间戳。您可以设置现在与位置之间的时差容差getTime()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)