Ich verwende die Google Standort-API, um den Standort des Nutzers auf der Karte anzuzeigen.Marshmallow - Google Maps Runtime-Berechtigungsproblem
Wenn die App zum ersten Mal geladen wird, wird der Begründungsdialog angezeigt, in dem erläutert wird, warum der Benutzer den Zugriff auf den Standort aktivieren muss. Dann wird runtime permission dialog
angezeigt, und Benutzer klicken auf "Erlaube", um den Standortzugriff zu aktivieren. Die Map wird dann ohne Abstürze geladen.
Wenn die App jedoch fortgesetzt wird (nach dem Hineingehen in den Hintergrund), wird kein Begründungsdialog angezeigt, da der Benutzer den Standortzugriff bereits gewährt hat. In diesem Szenario wird nur die angezeigt. Wenn der Benutzer nun auf "Deny" klickt, stürzt die App ab. Dieser Code funktioniert in Android-Versionen unter M (Lutscher, Jellybean, KitKat usw.)
Gibt es eine Möglichkeit, die Laufzeitausnahme in diesem Stadium zu behandeln?
Der Fehler ist:
java.lang.SecurityException: Client ACCESS_FINE_LOCATION Erlaubnis Stellen zu beantragen PRIORITY_HIGH_ACCURACY haben muss.
Ich bin mit der Standardprobe MyLocation Demo-Anwendung ohne 3rd-Party-Bibliothek:
Ich habe auch versucht die PermissionsDispatcher Bibliothek verwenden, aber die gleichen Fehler bestehen bleiben.
PermissionDispatcher Android-Google-Maps-Demo
private void enableMyLocation() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
// Permission to access the location is missing.
PermissionUtils.requestPermission(this, LOCATION_PERMISSION_REQUEST_CODE,
Manifest.permission.ACCESS_FINE_LOCATION, true);
} else if (mMap != null) {
// Access to the location has been granted to the app.
mMap.setMyLocationEnabled(true);
}
}
Jede Hilfe ist sehr geschätzt.
Beitrag der Code, wo Sie bitte um Berechtigungen bitten –
Implementierung der Annahme/Verweigerung der Erlaubnis bedeutet nicht, dass Sie R-Code läuft gut. Es hängt nur davon ab, welchen Code Sie in diesen Fällen geschrieben haben. Bitte posten Sie die Callback-Methoden onCreate() und requests permissions? –
Ich verwende das genaue Beispiel in [link] (https://github.com/googlemaps/android-samples/blob/master/ApiDemos/app/src/main/java/com/example/mapdemo/MyLocationDemoActivity. java) – Akshata