Existe un Permiso de Android misterioso e indocumentado llamado: WRITE_GSERVICES . Como de costumbre, la propia documentación de Google es aún más misteriosa que cualquier mal cuento de hadas, escribiendo:
android.permission.WRITE_GSERVICES Allows an application to modify the Google service map.
Sin embargo, buscar en Google (!) No Google Service Map
produce nada útil.
¿Qué controla y para qué se utiliza?
stock-android
permissions
not2qubit
fuente
fuente
READ_GSERVICES
, lo cual tiene sentido, dado que las aplicaciones normales no pueden solicitar accesoWRITE_GSERVICES
, el autor de la pregunta señala que Google Maps requiere el permiso READ_GSERVICES para funcionar correctamente. - También quiero agregar, de las 17 ediciones al duplicado que llamas 'mío', 14 de ellas fueron hechas por otros usuarios además de mí, contribuyendo a más de 5000 caracteres agregados.Respuestas:
Tenga en cuenta que este permiso está casi completamente indocumentado, por lo tanto, necesitamos sentir nuestro camino hacia su significado real. Por lo tanto, esto no es en modo alguno una "respuesta autorizada", sino más o menos algo entre una "buena suposición" y una "deducción de otros indicadores".
La descripción oficial de este permiso (como se dijo, no hay más documentación) es:
Así que ahora podemos adivinar lo que se supone que significa. Hagamos un poco de "ingeniería inversa" para que podamos sentirlo. Ryan ya dio algunos consejos en su comentario, vinculando a dos preguntas SO:
READ_GSERVICES
)Lectura entre líneas: cada vez que una aplicación quiere usar (partes de) el Marco de servicios de Google , debe declarar el
READ_GSERVICES
permiso requerido, que es bastante similar a lo que se requiereGET_ACCOUNTS
si lo deseaUSE_CREDENTIALS
: la aplicación primero debe asegurarse de que el servicio requerido esté disponible en absoluto, antes de acceder a él.Esto nos da una idea de lo que debe ser el Mapa de servicios de Google : algún tipo de índice para los Servicios de Google disponibles (instalados).
Ahora que descubrimos eso, podemos adivinar para qué
WRITE_GSERVICES
está destinado el permiso y por qué está protegido por elsystem
nivel de protección (es decir, solo se otorga a las "aplicaciones del sistema", es decir, aquellas integradas en la ROM, que es instalado en la/system
partición): siREAD_GSERVICES
se pretende determinar qué servicios de Google están disponibles,WRITE_GSERVICES
debe ser su contraparte para actualizar ese mapa de servicios. Por ejemplo, cada vez que se instaló (o eliminó) un nuevo servicio, para actualizar el "índice de servicios de Google disponibles en el dispositivo": el "Mapa de servicios de Google".Solo una cosa que me pregunto en este contexto es por qué este permiso pertenece al
ACCOUNTS
grupo ...Ver también:
READ_GSERVICES
permiso como "Permite que la API acceda a los servicios basados en la web de Google " (citando un mensaje de la[email protected]
lista de correo)ACCOUNTS
grupo, ya que incluye, por ejemplo, Autenticación de cuenta de Google ;)fuente
ACCOUNTS
grupo: muchos servicios de Google requieren un inicio de sesión para poder utilizarse, por lo que puede haber alguna verificación cruzada (por ejemplo, transmitir el nombre de su cuenta para verificar si tiene un "usuario activo" para un determinado servicio, incluso sin iniciar sesión / transmitir una contraseña / token AUTH).