Wenn ich eine Ziel-API von 23 auf Android M Preview 3 habe, kann ich nicht scheinen, die Manifest.permission.WRITE_SETTTINGS-Berechtigung zu erwerben.Kann nicht WRITE_SETTINGS Berechtigung
requestPermissions(new String[]{Manifest.permission.WRITE_SETTINGS},
101);
Antrag Erlaubnis bringen nicht den Dialog ich erwarten würde, aber wenn ich den folgenden Aufruf ohne diese Berechtigung,
RingtoneManager.setActualDefaultRingtoneUri(activity, RingtoneManager.TYPE_RINGTONE, ringUri);
Der Anruf wird ausnehmen, weil ich die Erlaubnis nicht haben .
Ich bin mir nicht sicher, wohin ich von hier aus gehen soll. Gibt es eine neue Klingelton-API für 23? Oder hat diese Änderung der Berechtigung es für andere Nicht-System-Apps unmöglich gemacht, den Klingelton zu ändern?
Vielen Dank! Lief wie am Schnürchen. https://developer.android.com/preview/features/runtime-permissions.html benötigt einige Updates, wenn wir mehrere neue Möglichkeiten haben, um Berechtigungen anzufordern. (Ich hatte Ihren Blog schon gelesen, bevor Sie ihn gepostet haben, aber ich habe ihn offensichtlich nicht behalten, als ich ihn brauchte) – Justin
Das hat in der Tat funktioniert. Aber für den Endnutzer ist das ein schlechter Ansatz. Gibt es Anzeichen dafür, dass Google dieses Verhalten ändert? – Fhl
@Fhl: Ich weiß nicht, warum sie diesen Weg gegangen sind, anstatt den normalen 'gefährlichen' Laufzeitrechtsansatz, den sie mit anderen Dingen in Android 6.0 verfolgten. Ich werde überrascht sein, wenn sich das in absehbarer Zeit ändert. – CommonsWare