启用GPS后,需要一段时间才能准备好GPS.因此,使用此代码可能会获得过期的位置:
location = locationManager.getLastKNownLocation(LocationManager.GPS_PROVIDER);
我无法使用过时的位置.如何获得所需的位置?
这是一个类似的问题:
Android: getLastKnownLocation out-of-date – how to force location refresh?
通过它,我可以使用LocationListener来获取更新的位置,该位置应该不会过时.这是正确的.但是我该如何处理这种情况:
我已经启用了GPS,然后启动我的应用程序.如果我呆在一个地方不动,那么onLocationChanged()将不会被调用.所以我不能使用这种方法来判断getLastKNownLocation()的返回值是否不是过期的?
有任何想法吗?
解决方法:
How to get location that isn’t out of date?
您以1000毫秒的minTime调用requestLocationUpdates(),对于onLocationChanged()中的每个Location,您都调用getAccuracy().如果您可以接受准确性,请调用removeUpdates().
So I can’t use this method to judge whether the return value of getLastKNownLocation() is not out-of-date
我认为它返回的Location对象将包含一个time stamp.您可以为Now和Location的getTime()之间的时间差设置公差
总结以上是内存溢出为你收集整理的android-如何获取未过期的位置?全部内容,希望文章能够帮你解决android-如何获取未过期的位置?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)