Android APP在getLastKnownLocation()上崩溃

时间:2017-10-11 13:00:03

标签: java android geolocation position

我正在开发一款通过NETWORK_PROVIDER实现该位置的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();
}

我不知道为什么它会在Android 7上崩溃...谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

因为getLastKnownLocation大部分时间都返回null。系统通常不知道您的location。使用requestLocationUpdatesrequestSingleUpdate打开location检测并获取实际位置。