Ich halte eine Sicherheitsausnahme, wenn ich versuche Standortaktualisierungen in API 23. Das System habe ich nicht über die entsprechenden Berechtigungen zu denken scheint zu bekommen:Zugriff auf das Anwender Lage in API 23 wirft Sicherheitsausnahme Obwohl Berechtigungen erteilt werden
java.lang.SecurityException: Client must have ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission to perform any location operations.
wenn ich jedoch für Benutzer-Standort Berechtigungen bin Überprüfung, bevor der Anruf an die Ortungsdienste zu machen und sowohl feine als auch grobe Position zurückkehren PERMISSION_GRANTED:
private boolean locationPermissionsGranted(Context context){
int fineLocation = ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION);
int coarseLocation = ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION);
return ((fineLocation == PackageManager.PERMISSION_GRANTED) || (coarseLocation == PackageManager.PERMISSION_GRANTED));
}
ich habe Berechtigungen zur Laufzeit durch den Benutzer auffordert, Berechtigungen zu erteilen mit t er Systemdialog:
ActivityCompat.requestPermissions(
this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},
Permissions.ACCESS_FINE_LOCATION.getPermission());
Ich bekomme die Ausnahme nach Berechtigungen erteilt werden, weil mein boolean-Check für, ob ich Zugang zu Lage true zurück, aber das System wird nicht lassen Sie mich Zugang Lage. Ich teste dies auf einem OnePlus One und denke, dass der Datenschutzbeauftragte vielleicht mit den Dingen beschäftigt ist, aber ich habe es so eingestellt, dass ich den Zugriff auf den Standort erlauben kann. Ich bin also nicht sicher, warum der Fehler weiterhin besteht.
anfordern Was ist Ihr 'targetSdkVersion'? – CommonsWare
minSdkVersion 11 targetSdkVersion 23 – Rarw
Haben Sie die entsprechenden '' - Elemente zu Ihrer AndroidManifest.xml hinzugefügt? –
Wesley