Beachten Sie, dass diese Erlaubnis fast vollständig ohne Papiere ist, daher müssen wir uns auf den Weg zu ihrer wahren Bedeutung machen. Dies ist also keineswegs eine "maßgebliche Antwort" - sondern mehr oder weniger etwas zwischen einer "guten Vermutung" und einem "Abzug von anderen Hinweisen".
Die offizielle Beschreibung für diese Erlaubnis (wie gesagt, es gibt keine weiteren Unterlagen) lautet:
Ermöglicht einer Anwendung, die Google Service Map zu ändern.
Jetzt können wir also erraten, was das bedeuten soll. Lassen Sie uns ein "Reverse Engineering" durchführen, damit wir uns darin zurechtfinden. Ryan gab bereits einige Hinweise in seinem Kommentar, die auf zwei SO-Fragen verweisen:
Lesen zwischen den Zeilen: Wenn eine App (Teile) des Google Services Framework verwenden möchte , muss sie die READ_GSERVICESerforderliche Berechtigung deklarieren. Dies ähnelt weitgehend der Anforderung, GET_ACCOUNTSwenn Sie möchten USE_CREDENTIALS: Die App muss zuerst sicherstellen, dass der erforderliche Dienst verfügbar ist überhaupt, bevor Sie darauf zugreifen.
Dies gibt uns eine Vorstellung davon, wie die Google Service Map aussehen muss: eine Art Index für verfügbare (installierte) Google Services.
Nachdem wir dies entdeckt haben, können wir gut erraten, wofür die WRITE_GSERVICESBerechtigung bestimmt sein könnte - und warum sie durch die systemSchutzstufe geschützt ist (dh sie wird nur "System-Apps" gewährt -, dh solchen, die in das ROM integriert sind wird auf der /systemPartition installiert ): Wenn herausgefunden READ_GSERVICESwerden soll, welche Google-Dienste verfügbar sind, WRITE_GSERVICESmuss dies das Gegenstück sein, um diese Dienstzuordnung zu aktualisieren . Dies ist beispielsweise der Fall, wenn ein neuer Dienst installiert (oder entfernt) wurde, um den "Index der auf dem Gerät verfügbaren Google-Dienste" zu aktualisieren - die "Google-Dienstkarte".
Ich frage mich in diesem Zusammenhang nur, warum diese Erlaubnis zur ACCOUNTSGruppe gehört …
Siehe auch: