Android Map V2 – ¿Por qué MAPS_RECEIVE permiso?
Considere esto como una pregunta wiki.
Mientras configuro mi proyecto para soportar Map V2, ha habido un paso para agregar el permiso MAPS_RECEIVE.
- Cómo obtener el evento de clic del texto del marcador
- Android - cómo obtener coordenadas de mapa desde la vista de mapa
- GetMap () de SupportMapFragment devuelve null
- Cómo compensar la vista de globo en un marcador en Google Map V2?
- Google Maps Android: el mapa ya no se muestra después del cambio del almacén de claves
<permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/>
¿Por qué creamos y consumimos el permiso de la aplicación en sí?
¿Es que la aplicación de Google Play Services interactúa con este permiso?
Este permiso no puede hacerse cargo de estas cosas?
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
Pensé que el uso del permiso personalizado es permitir que otras aplicaciones lancen / utilicen los servicios / recursos de nuestra aplicación.
- Google Maps API V2 - InfoWindow se pierda el marcador
- API de Google Maps para Android v2: Ampliar la ubicación y el marcador actuales
- Agrupar los marcadores de mapa en el zoom hacia afuera y el desenclavamiento en el zoom
- Cómo mostrar las flechas de dirección en el marcador de mapa de google maps v2 android
- Android Google Map API V2: Abrir ventana de información personalizada en el lado derecho del marcador
- "Error al inflar fragmento de clase" con google map
- Android: Cómo dibujar las direcciones de la ruta google maps API V2 desde la ubicación actual hasta el destino
- Cómo ampliar la cámara para cubrir la ruta en android googlemap?
Para futuros visitantes:
Este permiso es completamente innecesario. La última actualización de Google Play Services 3.1.59 la hizo inútil. Como resultado, puede ser eliminado.
fuente
Este es el mismo patrón que se ve cuando se utiliza Google Cloud Messaging (GCM) con su permiso C2D_MESSAGE
. La idea es proteger un punto final en su aplicación (por ejemplo, un receptor de difusión) para que algún otro componente (presumiblemente parte de la API de Maps) pueda contactarlo de forma segura (de lo contrario, otra aplicación podría suplantar su aplicación utilizando el mismo filtro de intenciones).
En este caso, la API de Google Maps configura internamente tal punto final (transparente para usted) y puede, con el uso de este permiso, que este punto final no pueda ser suplantado (porque para hacerlo requeriría el permiso, que está protegido por su Firma de la aplicación).
Encontré que este permiso todavía es necesario cuando se utiliza el certificado de depuración. Cuando exporté y firmé mi aplicación funcionó bien, pero no funcionaría cuando usé el certificado de depuración. Tengo el MD5 para mi certificado de depuración y certificado de aplicación asociado con la misma clave. Cuando finalmente agregé estos permisos adicionales, funcionó. Estoy usando un Moto X que funciona 4.4 con todo hasta la fecha.
Este permiso especifica el nombre del paquete. es decir
<permission android:name="package_name.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="package_name.permission.MAPS_RECEIVE"/>
Por lo tanto, el API de Google simplemente permite que su proyecto reciba el mapa. El permiso indica dónde usar la API.
- Android Error al encontrar esta aplicación en PackageManager io.crash.air
- Android Material Design Datepicker con AppCompat