Meine App verwendet LocationServices, um Standortaktualisierungen anzufordern. Er sendet die Ergebnisse über einen PendingIntent an einen Empfänger. In OnReceive() ein LocationResult ist aus der Absicht extrahiert, das eine Location ergibt, die dann in Bezug auf die Lat und Lng exprimiert wird, weiter verwendet werden. Klingt OK, oder?Ermitteln des Standorts aus einem LocationResult in onReceive()
Nun, die App begann mit NullPointerException zu crashen.
Ich untersuchte Debugger und fand, dass die drei Zeilen Code, die ich oben beschrieben gut ausgeführt, aber dann anstatt auf die folgenden Zeilen des Codes, die Ausführung wurde wieder zurück auf die erste der drei gerichtet Linien, die eine LocationResult aus einer Absicht extrahiert. Dies stellte sich nun als null heraus und stürzte in der folgenden Zeile mit NullPointerException ab, da LocationResult nicht als null angenommen wurde.
Ich habe keine Ahnung, warum das passiert. Irgendwelche Hinweise, bitte? (Sorry für das Wortspiel)
Hier ist mein Code:
public class MyLocationUpdateReceiver extends BroadcastReceiver {
private static final String TAG = "MyLocationUpdateRcvr";
// empty constructor
public MyLocationUpdateReceiver(){}
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG,"onReceive update");
// extract locationResult from intent received from Update Request
LocationResult locationResult = LocationResult.extractResult(intent);
double locationLat = locationResult.getLastLocation().getLatitude();
double locationLng = locationResult.getLastLocation().getLongitude();
// send the Lat and Lng of new location to MapActivity via intent
Intent mIntent = new Intent(context.getApplicationContext(),
MapActivity.class);
mIntent.putExtra("New_Lat", locationLat);
mIntent.putExtra("New_Lng", locationLng);
mIntent.addFlags(FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mIntent);
}
}
Und hier ist der Screenshot des ersten Mal through.Note die LocationResult nicht null ist.
Noch immer auf der ersten ... Runde
und auf dem zweiten Mal ...
Kann Ihre Absicht 'null' sein. – Piyush
Das erste Mal ist es nicht null –