android – getLastKnownLocation()返回null
作者:互联网
我在这里已经阅读了很多关于这个主题的Q& As但是我不得不说它们都不起作用.
我的问题是,即使我启用了GPS,我也无法获得位置,除非我打开谷歌地图并获取我的位置然后返回应用程序,这绝对不是用户的选择.
我有以下功能来获取位置.
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.
提前致谢
解决方法:
Is there anything I’m missing on how to solve this?
GPS无线电正常断电,因为它们是主要的电池消耗.因此,getLastKnownLocation()可以经常返回null或过时的位置,因为没有检查位置修复.因此,getLastKnownLocation()仅在您对该位置感兴趣时才有用,并且如果没有位置则感到高兴.
如果您需要知道位置,则需要使用requestLocationUpdates()或类似的东西,以使Android启动GPS无线电并主动尝试查找位置.
标签:android,google-maps,gps,android-location 来源: https://codeday.me/bug/20190727/1558449.html