Android:getLastKnownLocation过期 – 如何强制位置刷新?

我在用着
myLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

在我的应用程序启动时检索当前位置.

如Android文档所述,此位置可能会“过期”,因为该方法会在上次使用GPS时返回该位置.

如何积极地从GPS请求当前位置?我想到了使用LocationListener,但这可能有点过分,因为我只需要一次位置(在我的应用程序的开始).

有任何想法吗?

解决方法

您的初始直觉是正确的 – 您需要使用LocationListener来请求更新.假设您只需要单个位置,则可以在第一个值返回后取消注册LocationListener.

在实践中,听点更长时间可能是明智的.基于位置的服务(特别是GPS)有一个趋势,当他们第一次得到他们的修复时,“跳过”一点.你最好的办法是听一段时间,或者设定一定数量的更新,或直到达到一定程度的准确度(位置听众将返回返回的位置的准确性).

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...