Hay un permiso de Android misterioso e indocumentado llamado: WRITE_GSERVICES . Como de costumbre, la propia documentación de Google es incluso más misteriosa que cualquier cuento de hadas malo, escribiendo:
android.permission.WRITE_GSERVICES Allows an application to modify the Google service map.
Sin embargo, buscar en Google (!) Google Service Map
no arroja nada útil.
¿Qué controla y para qué sirve?
Tenga en cuenta que este permiso está casi completamente sin documentar, por lo tanto, debemos sentir nuestro camino hacia su significado real. Entonces, esta no es de ninguna manera una "respuesta autorizada", sino más o menos algo entre una "buena conjetura" y una "deducción de otros indicadores".
La descripción oficial de este permiso (como se dijo, no hay más documentación) es:
Permite que una aplicación modifique el mapa de servicios de Google.
Así que ahora podemos adivinar lo que se supone que significa. Hagamos un poco de "ingeniería inversa" para que eso nos acerque. Ryan ya dio algunos consejos en su comentario, vinculándose a dos preguntas SO:
READ_GSERVICES
)Leyendo entre líneas: cada vez que una aplicación quiera usar (partes de) el marco de servicios de Google , debe declarar el READ_GSERVICES
permiso requerido, que es bastante similar a requerir GET_ACCOUNTS
si lo desea USE_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 : una especie de índice de los servicios de Google disponibles (instalados).
Ahora que descubrimos eso, podemos adivinar para qué WRITE_GSERVICES
podría estar destinado el permiso, y por qué está protegido por el system
nivel de protección (es decir, solo se otorga a las "aplicaciones del sistema", es decir, aquellas integradas en la ROM, que es está instalado en la /system
partición): Si READ_GSERVICES
se pretende averiguar qué servicios de Google están disponibles, WRITE_GSERVICES
debe ser su contraparte para actualizar ese mapa de servicios. Que es, 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 web de Google " (citando un mensaje de la android-developers@googlegroups.com
lista de correo)ACCOUNTS
grupo, ya que incluye, por ejemplo , autenticación de cuenta de Google ;)ACCOUNTS
grupo: muchos servicios de Google requieren un inicio de sesión para poder utilizarlos, 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 de AUTH).
no2qubit
no2qubit
ryan conrado
READ_GSERVICES
, lo que tiene sentido, ya que las aplicaciones normales no pueden solicitar acceso aWRITE_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 de otros usuarios además de mí, lo que contribuye a agregar más de 5000 caracteres.no2qubit
izzy
izzy
no2qubit