So fordern Sie zur Laufzeit eine Standortberechtigung an
In der Manifestdatei ist es wichtig, die erforderlichen Berechtigungen für den Standortzugriff anzugeben. Allerdings reicht das einfache Hinzufügen von Berechtigungen zum Manifest auf Geräten mit Android 6 oder höher nicht aus. Um Standortaktualisierungen erfolgreich zu erhalten, müssen Sie zur Laufzeit eine Berechtigung anfordern. Hier ist eine Schritt-für-Schritt-Anleitung:
-
Berechtigungsstatus prüfen:
- Verwenden Sie ContextCompat.checkSelfPermission(), um zu überprüfen, ob die Die App hat Zugriff auf die erforderlichen Berechtigungen (in Ihrem Fall Manifest.permission.ACCESS_FINE_LOCATION).
-
Berechtigung anfordern (falls nicht erteilt):
- Wenn Berechtigungen nicht erteilt werden , verwenden Sie ActivityCompat.requestPermissions(). Dadurch wird der Benutzer aufgefordert, die Berechtigung zu erteilen oder zu verweigern.
-
Berechtigungsergebnis verarbeiten:
- OnRequestPermissionsResult() überschreiben. Diese Methode empfängt das Ergebnis der Berechtigungsanfrage und aktualisiert den Standortmanager entsprechend.
In Ihrem Code:
- Sie fügen den Standort korrekt hinzu Berechtigungen für das Manifest.
- Sie verwenden ContextCompat.checkSelfPermission(), um den Berechtigungsstatus zu überprüfen, fordern die Berechtigung jedoch nicht an, wenn dies nicht der Fall ist gewährt.
- Um das Problem zu beheben, müssen Sie eine Standortberechtigung mit ActivityCompat.requestPermissions() anfordern, wie in den aktualisierten Java- und Kotlin-Codebeispielen in der Antwort gezeigt.
-
Standortaktualisierungen starten (sofern die Erlaubnis erteilt wurde):
- Nachdem die Erlaubnis erteilt wurde, Verwenden Sie requestLocationUpdates(), um Standortaktualisierungen zu erhalten.
-
Standortaktualisierungen anhalten/fortsetzen:
- Verwenden Sie onPause() und onResume() zum Anhalten und Fortsetzen von Standortaktualisierungen, wenn die Aktivität im Hintergrund oder im Vordergrund stattfindet, bzw.
Das obige ist der detaillierte Inhalt vonWie kann ich die Laufzeitstandortberechtigung in Android ordnungsgemäß anfordern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!