Heim >Java >javaLernprogramm >Warum aktualisiert meine Android-App den Standort nicht über den NETZWERK-Anbieter?

Warum aktualisiert meine Android-App den Standort nicht über den NETZWERK-Anbieter?

Linda Hamilton
Linda HamiltonOriginal
2024-12-03 11:32:11558Durchsuche

Why Isn't My Android App Updating Location Using the NETWORK Provider?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn