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.

<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.

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.

  • Google map android API V2 se estrelló
  • Barra de herramientas no aparece en fragmento con google maps
  • Intercambio entre el fragmento de Google Maps v2 y el listfragment
  • El nuevo procesamiento de gms.maps.MapView se retrasa un poco cuando está en un ListView?
  • Abrir mapa de la calle trabajando offline en Android
  • Cómo obtener la ubicación de Google Map después de soltar Pin sobre ella
  • Android Make Disappear o eliminar el punto azul en el mapa v2
  • Google Maps API v2: ¿Cómo hacer que los marcadores no se puedan hacer clic?
  • Android - Dragging marcador sin tener que mantener en el mapa api v2
  • API de Google Maps v2 en el cuadro de diálogo
  • Excepción de puntero nulo en mapFragment.getMapAsync (this) al inicializar google map
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.