Heim >Java >javaLernprogramm >Warum aktualisiert meine Android-App den Standort nicht über den NETZWERK-Anbieter?
So ermitteln Sie den aktuellen Standort mithilfe des NETZWERK-Providers in Android
Das Abrufen des aktuellen Standorts in Android ist eine häufige Aufgabe für mobile Anwendungen. Bei der Verwendung des NETWORK-Anbieters ist es jedoch wichtig, den zugrunde liegenden Mechanismus zu verstehen. In diesem Artikel werden wir untersuchen, warum der in der Frage bereitgestellte Originalcode den Standort nicht aktualisiert, wenn der NETZWERK-Anbieter verwendet wird.
Das Problem mit dem Originalcode
Der Originalcode nutzt den LocationManager, um Standortaktualisierungen anzufordern. Während die GPS-Positionierung korrekt verarbeitet wird, ist die Netzwerkpositionierung nicht ordnungsgemäß möglich. Dies liegt daran, dass der Code keinen LocationListener definiert, um Standortänderungen zu verarbeiten.
Definieren eines LocationListeners
Um Standortaktualisierungen zu empfangen, müssen Sie einen LocationListener definieren Objekt. Dieses Objekt wird immer dann aufgerufen, wenn sich der Standort ändert. Das folgende Code-Snippet zeigt, wie das geht:
private final LocationListener mLocationListener = new LocationListener() { @Override public void onLocationChanged(Location location) { // Your code here to handle the location change } };
Standortaktualisierungen anfordern
Sobald Sie einen LocationListener definiert haben, müssen Sie Standortaktualisierungen vom LocationManager anfordern . Das folgende Code-Snippet zeigt, wie Sie Updates vom GPS-Anbieter anfordern:
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, LOCATION_REFRESH_TIME, LOCATION_REFRESH_DISTANCE, mLocationListener);
Um ebenfalls Updates vom NETWORK-Anbieter anzufordern, verwenden Sie den folgenden Code:
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, LOCATION_REFRESH_TIME, LOCATION_REFRESH_DISTANCE, mLocationListener);
Berechtigungserklärung
Vergessen Sie nicht, die entsprechenden Berechtigungen in Ihrer AndroidManifest.xml-Datei zu deklarieren. Für die Nutzung des NETWORK-Anbieters benötigen Sie die folgende Berechtigung:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
Fazit
Indem Sie einen LocationListener definieren und Standortaktualisierungen vom NETWORK-Anbieter anfordern, können Sie dies jetzt tun Rufen Sie den aktuellen Standort erfolgreich über den NETZWERK-Anbieter in Ihrer Android-Anwendung ab.
Das obige ist der detaillierte Inhalt vonWarum aktualisiert meine Android-App den Standort nicht über den NETZWERK-Anbieter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!