Ich versuche derzeit, meine Anwendung an das neue Berechtigungsmodell von Android M anzupassen.
Ich sammle alle erforderlichen Berechtigungen und führe sie aus
Log.i("Permissions", "Requesting permissions: " + permissions);
requestPermissions(requiredPermissions.toArray(new String[requiredPermissions.size()]), requestCodeForPermissions);
requiredPermissions enthält die Berechtigungen, die ich benötige android.permission.WRITE_EXTERNAL_STORAGE
.
Diese Routine wird definitiv ausgeführt, da ich die Protokollzeile im Protokoll habe:
08-07 12:52:46.469: I/Permissions(1674): Requesting permissions: android.permission.RECEIVE_BOOT_COMPLETED; android.permission.WRITE_EXTERNAL_STORAGE
Der Berechtigungsdialog wird jedoch nie angezeigt, geschweige denn onRequestPermissionsResult () wird aufgerufen.
Was mache ich falsch? Aufgrund einiger Tutorials habe ich festgestellt, dass mir nichts fehlt. Ich habe nur den Emulator zum Testen, kein physisches Gerät. Dies ist der Info-Bildschirm aus den Einstellungen: Bild
Es könnte erwähnenswert sein, noch etwas anderes zu erwähnen: Wenn ich versuche, die Übersicht der installierten Apps über den Startbildschirm zu öffnen, erhalte ich nur launcher3 has exited
. Ich bin mir nicht sicher, ob das damit zusammenhängt.
Hat jemand eine Idee, warum es nicht angezeigt wird?
WRITE_EXTERNAL_STORAGE
wurdedangerous
und musste nicht manuell angefordert werden. Das hat sich in v2 geändert, wo es wie anderedangerous
Berechtigungen wie funktioniertCAMERA
. Beachten Sie, dass diesRECEIVE_BOOT_COMPLETED
keinedangerous
Erlaubnis ist. Sie müssen es nicht zur Laufzeit anfordern.