Android 安卓6.0访问精细位置

Android 安卓6.0访问精细位置,android,location,Android,Location,我有这个代码来获取位置。这个问题不在允许范围之内 public Location getLocation() { Location location = null; LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); if (ActivityCompat.checkSelfPermission(this, Manifest.p

我有这个代码来获取位置。这个问题不在允许范围之内

   public Location getLocation() {
    Location location = null;
    LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

    }
    location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
    return location;
}
这就是我获得位置的方式

    lat = location.getLatitude();
    lng = location.getLongitude();

    LatLng myLocation = new LatLng(lat, lng);
错误消息:

java.lang.NullPointerException: Attempt to invoke virtual method 'double android.location.Location.getLatitude()' on a null object reference

我迷路了。请问出了什么问题?

如文档所述的可能重复的
LocationManager。getLastKnownLocation(…)
可能返回null。。。并且它返回null…可能与文档中所述的位置管理器重复。getLastKnownLocation(…)可能返回null。。。它返回空值。。。