2016-07-31 8 views
1

Ich bekomme einen seltsamen Fehler, denn wenn ich die App auf einem echten Telefon, läuft, gibt es diesen Fehler (Android 5.0) nicht. Aber auf dem Emulator (Android 6.0) es gibt mir diese Fehlermeldung:Android Breitengrad und Longitude gibt Null zurück

FATAL EXCEPTION: main Process: com.doppler.stackingcoder.pechhulp, PID: 11424 java.lang.NullPointerException: Attempt to invoke virtual method 'double android.location.Location.getLatitude()' on a null object reference at com.doppler.stackingcoder.pechhulp.PechhulpActivity.onLocationChanged(PechhulpActivity.java:171) at com.doppler.stackingcoder.pechhulp.PechhulpActivity.onMapReady(PechhulpActivity.java:126)

Und das ist mein PechhulpActivity:

https://gist.github.com/soufyanekaddouri/6e3a3746be137e2680caa32d7bb746d9

Ich hoffe, dass jemand weiß, was ich falsch mache.

Antwort

1

In Bezug auf Ihren Absturz nehmen Sie an, dass mindestens ein Anbieter eine Location von getLastKnownLocation() zurückgibt. Dies ist weder auf einem Gerät noch auf einem Emulator erforderlich. Sie müssen den Fall behandeln, in dem alle Anbieter null von getLastKnownLocation() zurückgeben. Dies könnte sein, indem Sie nicht versuchen, den Standort zu verwenden. Oder fordert Standortupdates an und verwendet den Standort ab dem ersten Update.

+0

Haben Sie ein Beispiel für mich? Ich bin nur ein Anfänger – Stackingcoder

+0

@Stackingcoder: Nun, ich habe [dieses Beispiel] (https://github.com/commonsguy/cw-omnibus/tree/master/WebKit/GeoWeb2), die Standort-Updates anfordert und auch versucht, 'zu verwenden getLastKnownLocation() ', obwohl das Beispiel dazu verwendet wird, diejenigen mit einer' WebView' zu verwenden. Ich habe [dieses Beispiel] (https://github.com/commonsguy/cw-omnibus/tree/master/Internet/Weather), das eine konventionellere App ist, aber nur Ortsaktualisierungen anfordert (und verwendet). – CommonsWare

Verwandte Themen