getLastKnownLocation() 返回 null [关闭]
Posted
技术标签:
【中文标题】getLastKnownLocation() 返回 null [关闭]【英文标题】:getLastKnownLocation() returns null [closed] 【发布时间】:2015-08-20 07:21:26 【问题描述】:我在 SO 上阅读了很多关于此主题的问答,但我不得不说它们都不起作用。
我的问题是,即使我启用了 GPS,我也无法获取位置,除非我打开 Google 地图并获取我的位置,然后返回应用程序,这绝对不是用户的选择。
我有以下函数来获取位置。
public Location getCurrentLocation()
LocationManager locationManager = (LocationManager) context
.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = locationManager.getBestProvider(criteria, true);
Location myLocation = locationManager.getLastKnownLocation(provider);
return myLocation;
关于如何解决这个问题,我有什么遗漏吗? 我也试过这个 http://developer.android.com/training/location/retrieve-current.html#last-known 但仍然返回 null。
提前致谢
【问题讨论】:
getlastknownlocation always return null after I re-install the apk file via eclipse的可能重复 我试过了,对我没用 【参考方案1】:关于如何解决这个问题我有什么遗漏吗?
GPS 无线电会正常断电,因为它们会消耗大量电池。因此,getLastKnownLocation()
可以经常返回null
或陈旧的位置,因为没有任何东西检查位置修复。因此,getLastKnownLocation()
仅在您对该位置有兴趣并且在没有位置时很高兴时才有用。
如果您需要知道位置,则需要使用requestLocationUpdates()
或类似的东西,以使Android 启动GPS 无线电并主动尝试查找位置。
【讨论】:
你能指出一个例子或一个链接吗? @XeniaSis:文档中有 developer.android.com/training/location/… 用于来自 Play Services 的融合位置提供程序。还有github.com/commonsguy/cw-omnibus/tree/master/Location/Periodic 和大量其他示例,可通过搜索引擎找到,用于使用LocationManager
及其requestLocationUpdates()
。
谢谢,我会通过它们以上是关于getLastKnownLocation() 返回 null [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
getLastKnownLocation() 返回 null [关闭]
Android getlastknownlocation 返回 null
LocationManager.getLastKnownLocation() 返回 null,并且永远不会调用 onLocationChanged
LocationManager 在 Android 中使用 getLastKnownLocation 返回空经度
getLastKnownLocation() 总是返回 null,所有提供者都是 DummyLocationProvider