Ich habe gerade die Liste der Android-Entwicklerberechtigungen durchsucht und festgestellt, dass die meisten Kontoberechtigungen nicht mehr vorhanden sind - tatsächlich alles andere GET_ACCOUNTS
als so , wie es scheint. Was bedeutet das, welche Auswirkungen hat es auf den Endbenutzer - und was wurde sonst noch durcheinander gebracht (abgesehen davon, dass es praktisch keine INTERNET
Erlaubnis mehr gibt)?
Wie üblich habe ich mein bestes Google-Fu ausprobiert, aber keine Antworten gefunden. Stattdessen einige unbeantwortete Fragen, die dasselbe stellen. Ich kann es nicht besser ausdrücken als diese :
Marshmallow hat mehrere Kontoberechtigungen gelöscht, einschließlich MANAGE_ACCOUNTS und USE_CREDENTIALS, aber GET_ACCOUNTS beibehalten. Ich habe jedoch nicht viel Dokumentation darüber gesehen, was dies für den Benutzer in der Praxis bedeutet. Ich gehe davon aus, dass die App, die ein Konto erstellt, es automatisch verwenden / verwalten kann. Wenn sich eine Drittanbieter-App jedoch mit einem Google / Facebook / etc-Konto anmelden möchte, das sie nicht erstellt hat:
- Muss es immer noch meine Interaktion / Genehmigung anfordern, wenn jedes Konto zum ersten Mal aufgerufen / verwendet wird, oder kann es meine Konten jetzt einfach automatisch verwenden?
- Kann die App mich trotzdem auffordern, mich mit einem Konto von meinem Nexus aus anzumelden, wenn ich die Berechtigung GET_ACCOUNTS verweigere? Oder muss ich der App die Berechtigung erteilen, alle meine Konten anzuzeigen, damit sie eines davon verwenden kann?
Außerdem: Wenn der Zugriff auf Konten noch geschützt ist (was ich hoffe!) - welche Berechtigung schützt ihn jetzt?
Verwandte Fragen (deren Antworten möglicherweise jetzt aktualisiert werden müssen):
- Was bedeutet die Berechtigung "MANAGE_ACCOUNTS"?
- Was kann eine App mit der Berechtigung "ACCOUNTS ON THE DEVICE VERWENDEN" tun?
- Wie kann man in Android 6 einer App die Berechtigung zum Zugriff auf das Netzwerk verweigern?
- Was bedeuten Berechtigungen für Android-Anwendungen?
Zusammenfassung der in den (bereinigten) Kommentaren gesammelten Informationen
Die folgenden Details wurden in den Kommentaren erwähnt. Sie beantworten meine Frage nicht, geben aber wertvolle Hinweise - weshalb ich sie in meine Frage einbeziehe (Credits an ihre Autoren):
- "Es gibt praktisch keine
INTERNET
Erlaubnis": Es ist immer noch da, wird aber automatisch jeder App gewährt. Keine Möglichkeit, es mit integrierten Tools / Einstellungen zu widerrufen. Aus welchem Grund habe ich in Android 6 einen Link erstellt, um einer App die Berechtigung zum Zugriff auf das Netzwerk zu verweigern? über. Warum ist das wichtig? Siehe unten. - Dan Brown weist darauf hin, dass der Zugriff auf Konten jetzt an eine
_CONTACTS
Erlaubnis gebunden ist . Wenn Sie eine App verwenden, um sich mit Google anzumelden, wird Folgendes angezeigt: "X darf auf Ihre Kontakte zugreifen?" Es ist nicht klar, ob Sie nur Lesezugriff (schlecht genug) oder sogar Schreibzugriff gewähren. Jetzt erhält sogar eine Cloud-Speicher-App (wie Dropbox, Mega usw.) Zugriff auf Ihre Kontakte - weshalb das Gewähren immer zu einem Albtraum für die Privatsphäre wird. Da es jetzt offensichtlich ist, dass dieser Teil der Kontoberechtigungen an Kontakte ging (ein großes Lob an Dan für den Zeiger!), Würde ich wirklich gerne einige Details dazu lesen: Wie wurde es geändert, warum wurde es geändert, was sind die Auswirkungen, Wie man damit umgeht. Aktualisieren:
INTERNET
Da für die neueste Version der SE-App kein Zugriff mehr auf Kontakte erforderlich ist, hat Dan eine spezielle Frage zu dieser App in der Haupt-Meta erstellt, die möglicherweise überprüft werden sollte: Wie funktioniert das neue Anmeldesystem für die Android-App? Kurz gesagt, sie verwenden eine neue Version des "Google Sign In SDK", für die kein Kontaktzugriff mehr erforderlich ist. Da dies nur die Google-Anmeldung betrifft, wird meine Frage jedoch nicht beantwortet. - Dan wies auch darauf hin, dass Apps ihre eigenen Account Manager verwenden. Das war schon vor MM der Fall - und der Grund, warum es die
MANAGE_ACCOUNTS
Erlaubnis gab (siehe oben): Sie haben ihren Dienst bei Android registriert, damit andere Apps ihn nutzen können. - Wie ich bereits mit meiner Frage erwähnt habe,
GET_ACCOUNTS
ist dies die einzige überlebende Kontoerlaubnis. Es war bereits vor MM erforderlich und dient wahrscheinlich immer noch demselben Zweck: Um ein Konto verwenden zu können, muss unsere App zunächst wissen, dass es vorhanden ist. Daher muss zunächst eine Liste der verfügbaren Konten abgerufen werden. Wenn sich diesbezüglich etwas geändert hat, fügen Sie es bitte Ihren Antworten bei.
GET_ACCOUNTS
wurde bereits zuvor benötigt (um auf ein Konto zuzugreifen, müssen Sie es zuerst finden). Aber jetzt, wie Dan Brown richtig betont hat, benötigt eine App die_CONTACTS
Erlaubnis (LESEN? SCHREIBEN?), Um ein Konto zu verwenden - wodurch meine Haare zu Berge stehen. Wenn die Leute immer noch mit den neuesten Android-Versionen streiten, wurde der Root-Zugriff immer veralteter, dies allein ist ein klares Gegenargument. Ich werde MM + definitiv nicht auf einem Gerät verwenden, das nicht gerootet ist, da der Schutz über Xprivacy & Co jetzt noch obligatorischer wird.