ich derzeit versuche, meine Anwendung auf die neue Berechtigungsmodell von Android M.Android M Erlaubnis Dialog nicht angezeigt
Ich sammle alle Berechtigungen anzupassen ich benötige, dann laufen
Log.i("Permissions", "Requesting permissions: " + permissions);
requestPermissions(requiredPermissions.toArray(new String[requiredPermissions.size()]), requestCodeForPermissions);
requiredPermissions hält die Berechtigungen ich wie android.permission.WRITE_EXTERNAL_STORAGE
benötigen.
Diese Routine wird auf jeden Fall ausgeführt, wie ich die Log Linie in der logcat haben:
08-07 12:52:46.469: I/Permissions(1674): Requesting permissions: android.permission.RECEIVE_BOOT_COMPLETED; android.permission.WRITE_EXTERNAL_STORAGE
Aber die Berechtigungen Dialog nie zeigt, geschweige denn ist onRequestPermissionsResult() aufgerufen.
Was mache ich falsch? Basierend auf einige Tutorials fand ich ich nichts fehlt. Ich habe nur den Emulator zum Testen, ohne physisches Gerät. Dies ist der über Bildschirm von Einstellungen: Image
Es könnte noch etwas anderes erwähnenswert sein: Wenn ich versuche, den Überblick über die installierten Apps aus dem Home-Bildschirm zu öffnen ich launcher3 has exited
nur bekommen. Ich bin mir nicht sicher, ob das zusammenhängen könnte.
Hat jemand eine Idee, warum es nicht ist zeigt?
Welche Version des Developer Preview M verwenden Sie? In v1 war "WRITE_EXTERNAL_STORAGE" nicht "gefährlich" und musste nicht manuell angefordert werden. Das änderte sich in v2, wo es wie andere 'gefährliche' Berechtigungen wie' CAMERA' funktioniert. Beachten Sie, dass "RECEIVE_BOOT_COMPLETED" keine "gefährliche" Erlaubnis ist; Sie müssen es zur Laufzeit nicht anfordern. – CommonsWare
Ich habe v2. Zu Testzwecken habe ich Audiodatei hinzugefügt, die jetzt angefordert wird: 08-07 13: 49: 31.647: I/Permissions (1540): Erfordern von Berechtigungen: android.permission.RECEIVE_BOOT_COMPLETED; android.permission.WRITE_EXTERNAL_STORAGE; android.permission.RECORD_AUDIO Die von meinem Manifest: Und das ist aus der project.properties Datei: targetSdkVersion = MNC compileSdkVersion = android-MNC Vermische ich etwas, das für andere offensichtlich sein könnte? –
Jens
Haben Sie die '' - Elemente in Ihrem Manifest? Das neue Laufzeitberechtigungsmodell beseitigt nicht die Notwendigkeit von '- Elementen. Es fügt nur zusätzliche Anforderungen zum Anfordern von Berechtigungen zur Laufzeit für ausgewählte Berechtigungsgruppen hinzu. –
CommonsWare