So versuche ich eine Kartenaktivität, die die Länge und Breite meiner aktuellen Position in einem Toast anzeigt, aber ich bekomme eine Null object reference
, obwohl das Objekt ist instanziiert eine Zeile, bevor ich es referenziere. currentLocation
ist oben bei create deklariert.Android Karten Aktivität Null Objektreferenz, aber ich verstehe nicht warum
Fehlermeldung verweist auf zweite/dritte letzte Zeile Code:
java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.location.Location.mProvider' on a null object reference
Relevante Code:
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
//Initialize Google Play Services
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
buildGoogleApiClient();
mMap.setMyLocationEnabled(true);
}
} else {
buildGoogleApiClient();
mMap.setMyLocationEnabled(true);
}
currentLocation = new Location(LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient));
Toast.makeText(this, currentLocation.toString(), Toast.LENGTH_LONG).show();
}
Laut der Dokumentation: "Wenn ein Ort ist nicht verfügbar, was sehr selten passieren sollte, null wird zurückgegeben " – Eselfar