有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

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