Welche Berechtigungen bleiben beim Upgrade auf targetSdk 23 oder Android 6 nicht erhalten?

9

Hintergrund

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.

Das Problem

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

Was ich versucht habe

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.

Die Fragen

  1. Gibt es andere Berechtigungen mit diesem Verhalten?

  2. 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?

  3. 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.

    
android developer 26.11.2015, 12:09
quelle

0 Antworten