onLocationChanged wird nicht automatisch aufgerufen
Ich habe ein problem mit onLocationChanged-event in Android. Hier ist die Auslösung:
case R.id.start: {
Points.add(overlay.getMyLocation()); //Points' type is ArrayList<GeoPoint>
mgr.requestLocationUpdates(best, 0, 3, locationListener);
}
break;
Und hier ist die onLocationChanged-Methode:
public void onLocationChanged(Location location) {
i++;
Points.add(overlay.getMyLocation());
MapOverlay mapOverlay = new MapOverlay(Points.get(i-1), Points.get(i));
map.getOverlays().add(mapOverlay); //does the drawing
mMapController.animateTo(Points.get(i));
}
So, onLocationChanged wird nur einmal aufgerufen, und erst, nachdem ich "start" drücken. Es soll automatisch aufgerufen werden jedes mal, wenn die Lage sich geändert hat, richtig? In meinem Fall ist es nicht.
Bitte helfen Sie mir.
Haben Sie die Erlaubnis zur Nutzung der location-service, die das manifest so:
Natürlich, hier ist meine Erlaubnis Abschnitt: <uses-permission android:name="android.die Genehmigung.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.die Genehmigung.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.die Genehmigung.INTERNET" />
Es ist zwar sehr spät, aber ich hoffe, dass dieser Kommentar kann helfen, jemand anderes, schauen Sie unter diesem link: lengrand.fr/2013/10/...
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
?Natürlich, hier ist meine Erlaubnis Abschnitt: <uses-permission android:name="android.die Genehmigung.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.die Genehmigung.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.die Genehmigung.INTERNET" />
Es ist zwar sehr spät, aber ich hoffe, dass dieser Kommentar kann helfen, jemand anderes, schauen Sie unter diesem link: lengrand.fr/2013/10/...
InformationsquelleAutor user1080051 | 2011-12-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem scheint gelöst zu sein.
In onCreate, fügte ich hinzu:
onLocationChanged jetzt so aussieht:
Ebenfalls, sehr wichtige Methoden:
Und auch einige neue Berechtigungen:
ACCESS_COARSE_LOCATION
ist nicht erforderlich, wenn SieACCESS_FINE_LOCATION
. Nur für Sie zu wissen 😉was ist der Unterschied?
da
ACCESS_FINE_LOCATION
umfasst WiFi, Zelle und die GPS-Position undACCESS_COARSE_LOCATION
enthält nur Zell-und WiFi. Also die erste Genehmigung umfasst im wesentlichen die zweite.das ist eine gute Klarstellung. Vielen Dank für es. Ich weiß nur, dass es von Ihnen. 😀
Nicht in 2015
InformationsquelleAutor user1080051