Ich erinnere mich, dass es (auf einem von Googles Videos) gesagt wurde, dass, wenn die vorherige Version der App auf targetSdk 23 in der neuen Version aktualisiert wurde, ALLE zuvor gewährten Berechtigungen jetzt gewährt werden.
Wenn Sie zum Beispiel eine App mit targetSdk 22 installiert haben, die eine Berechtigung zum Lesen von den Kontakten erfordert, bleibt diese auch nach einem Upgrade der App auf eine mit targetSdk 23 erhalten. p>
Der Grund ist einfach: Der Benutzer hat die Berechtigungen bereits bei der Installation erteilt.
Nach was ich gefunden habe, gibt es eine Ausnahme von dieser Regel:
Wenn Ihre App die Berechtigung SYSTEM_ALERT_WINDOW hatte und Sie jetzt auf targetSdk 23 aktualisieren, wird sie widerrufen (zurückgesetzt) und Sie müssen sie vom Benutzer anfordern.
Dieses Verhalten wird nirgendwo in der Dokumentation erwähnt:
Und auch nicht in irgendeinem Video, das ich gesehen habe.
Das einzige, was über die Berechtigung SYSTEM_ALERT_WINDOW erwähnt wird, ist, dass Sie sie anders handhaben müssen, indem Sie verwenden ACTION_MANAGE_OVERLAY_PERMISSION , um die Berechtigung anzufordern, und Settings.canDrawOverlays (...) um zu prüfen, ob die Berechtigung gewährt wurde
Ich habe versucht, Google wegen dieses Problems zu kontaktieren, und sie sagten, es sei beabsichtigt:
Ich habe mit dem Entwicklungsteam gesprochen und das Verhalten, das Sie sehen, ist Arbeiten wie vorgesehen. Dies ist hier dokumentiert: Ссылка
Die Schutzstufe von SYSTEM_ALERT_WINDOW wurde in Android M erhöht.
Gibt es andere Berechtigungen mit diesem Verhalten?
Was würde passieren, wenn die App targetSdk 22/23 hätte und es ein Upgrade des Betriebssystems auf Android 6 gäbe? Wird das SYSTEM_ALERT_WINDOW (oder eine andere Berechtigung) widerrufen?
Ziemlich sicher, dass andere Sachen bleiben werden, aber ich möchte trotzdem fragen: Was ist mit anderen speziellen Berechtigungen - wie Features, wie: SAF, Admin, Benutzungszugriff, Zugriff auf Barrierefreiheit, Benachrichtigungszugriff,. ..?
EDIT: über # 2, hier ist die Antwort von Google (Link hier ):
Beim Betriebssystem-Upgrade sollte die App SYSTEM_ALERT_WINDOW beibehalten. Pre-API 23 Apps haben die Berechtigung standardmäßig, im Gegensatz zu API 23 Apps, die ausgeschaltet sind standardmäßig. Es gibt jedoch einen bekannten Fehler, der für API 23 Apps sie verloren SYSTEM_ALERT_WINDOW beim Upgrade. Die Empfehlung für a Entwickler soll immer den Status von SYSTEM_ALERT_WINDOW um überprüfen Start und wenn nicht gewährt, den Benutzer auf Einstellungen verweisen. Wir werden sein Behebung des Problems in einer zukünftigen Version.
Tags und Links android permissions android-6.0-marshmallow system-alert-window