我在用着
myLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
在我的应用程序启动时检索当前位置.
如Android文档所述,此位置可能会“过期”,因为该方法会在上次使用GPS时返回该位置.
如何积极地从GPS请求当前位置?我想到了使用LocationListener,但这可能有点过分,因为我只需要一次位置(在我的应用程序的开始).
有任何想法吗?
您的初始直觉是正确的 – 您需要使用LocationListener来请求更新.假设您只需要单个位置,则可以在第一个值返回后取消
注册LocationListener.
在实践中,听点更长时间可能是明智的.基于位置的服务(特别是GPS)有一个趋势,当他们第一次得到他们的修复时,“跳过”一点.你最好的办法是听一段时间,或者设定一定数量的更新,或直到达到一定程度的准确度(位置听众将返回返回的位置的准确性).