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
Freigeben: 2024-12-03 11:32:11
Original
559 Leute haben es durchsucht

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
    }
};
Nach dem Login kopieren

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);
Nach dem Login kopieren

Um ebenfalls Updates vom NETWORK-Anbieter anzufordern, verwenden Sie den folgenden Code:

mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, LOCATION_REFRESH_TIME,
LOCATION_REFRESH_DISTANCE, mLocationListener);
Nach dem Login kopieren

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"/>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage