6 votos

¿Es el Servicio Google Play una especie de "bypass" de las autorizaciones de mis aplicaciones?

El google-play-services información de la etiqueta dice que es "una biblioteca utilizada por las aplicaciones de Google y por muchas aplicaciones de terceros para proporcionar funciones de localización y sociales".

¿Significa esto que si me niego a proporcionar la ubicación a una aplicación, dicha aplicación puede seguir recuperando mi ubicación a través de los servicios de Google Play?

1 votos

No soy desarrollador de Android, pero las aplicaciones suelen intercambiar información a través de intents, por lo que no necesitan un permiso expreso. Según esto, tu duda puede ser definitivamente una realidad.

1voto

Oliver Salzburg Puntos 413

A mi entender, hay 2 maneras de recuperar la ubicación actual desde la perspectiva de un desarrollador de Android:

  1. La API de localización del framework de Android: android.location Esta es "la vieja manera" y se anima a los desarrolladores a adaptar la nueva API:

  2. La API de localización de los servicios de Google Play.

Para acceder a la primera, una aplicación tiene que solicitar permisos de uso de ellos:

A menos que se indique, todos los métodos de la API de localización requieren los permisos ACCESS_COARSE_LOCATION o ACCESS_FINE_LOCATION.

Para acceder a este último, los desarrolladores todavía tienen que solicitar los mismos permisos :

Las aplicaciones que utilizan servicios de localización deben solicitar permisos de localización. Android ofrece dos permisos de localización: ACCESS_COARSE_LOCATION y ACCESS_FINE_LOCATION. El permiso que elijas determina la exactitud de la ubicación devuelta por la API. Si especifica ACCESS_COARSE_LOCATION, la API devuelve una ubicación con una precisión aproximadamente equivalente a una manzana.

Por lo tanto, no, el servicio no ofrece una forma de eludir las comprobaciones de permisos. Ambas formas requieren los mismos permisos.

0voto

Xetius Puntos 10445

No, el servicio/bibliotecas sigue requiriendo solicitudes de permisos como todo lo demás.

Ver el Documentación del SDK de Play Services para más información. Pero algunos extractos relevantes:

...Una vez que haya declarado las APIs que quiere utilizar... asegúrese de que tiene el permiso necesario antes de llamar a una API.

...

Si la llamada devuelve false significa que los permisos no están concedidos y debe utilizar requestPermissions para solicitarlos.

... cuando se llama connect() , los servicios de Google Play validan que tiene todos los permisos necesarios. ... connect() falla cuando faltan los grupos de permisos necesarios para los propios servicios de Google Play.

0 votos

Bueno, en cierto modo confirmas mis temores... Si yo deniego un permiso a una aplicación, pero Google Play Services lo tiene, tus citas como que dicen que actúan de forma independiente y por lo tanto el bypass realmente existe. Si no es así, ¿podrías aclarar cómo? Gracias de todos modos por tomarte el tiempo de buscar esto en la documentación del SDK.

0 votos

Por lo que veo, sigue siendo por aplicación. La llamada de solicitud de permiso viene de la app, ya que la librería para llamar a Play Services sigue estando dentro del contexto de la app. Aunque todavía no he confirmado esto con pruebas... ¿Podría estar interpretando mal la documentación?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X