getLastKnownLocation()上的java Android应用程序崩溃
我正在开发一款Android应用程序,它通过网络提供商实现了这一地位,但我在Android 7上执行它时遇到了问题(尽管它在以前的版本上可以正常工作)。代码如下:
LocationManager posM;
double latitude;
double longitude;
List<Address> addresses = null;
try {
posM = (LocationManager) getSystemService(LOCATION_SERVICE);
Location location = posM.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
latitude = location.getLatitude();
longitude = location.getLongitude();
Geocoder geocoder;
geocoder = new Geocoder(Activity1.this, Locale.getDefault());
addresses = geocoder.getFromLocation(latitude, longitude, 1);
} catch (IOException e) {
e.printStackTrace();
}
我不知道为什么它会在安卓7上崩溃。。。谢谢你的帮助
# 1 楼答案
因为
getLastKnownLocation
大多数时候都返回null。系统通常不知道你的location
。使用requestLocationUpdates
或requestSingleUpdate
打开location
检测并获取实际位置