Permisos del Dispositivo


Sistema de permisos en runtime


Las aplicaciones están obligadas a solicitar los permisos en runtime.
Antes, los permisos de una aplicación se solicitaban al instalar. Con el nuevo targetSdkVersion, al instalar no pide permisos, en cambio la aplicación debe solicitarlos cuando los use.
Para ello, se ha modificado el pushValue y el openEditView, para que antes de lanzarlo, solicite los permisos necesarios al usuario.

Esta funcionalidad, de momento, solo es necesaria para Android.
Los permisos que solicita los determina si existe el nodo <permissions> en la colección.

Este nodo, a su vez, puede contener lo siguiente:

  1. <permission name=“external-storage” />: Acceso a la SDCard/almacenamiento externo. Necesario para la réplica y en general el funcionamiento del framework
  2. <permission name=“calendar” />: Acceso al calendario del usuario para leer/añadir eventos.
  3. <permission name=“contacts” />: Leer los contactos.
  4. <permission name=“camera” />: Acceso a la cámara. Necesario para multitud de plugins.
  5. <permission name=“microphone” />: Acceso al micrófono.
  6. <permission name=“sms” />: Lectura y envío de SMS.
  7. <permission name=“phone” />: Acceso al hardware de telefonía, para hacer llamadas y poder obtener IMEI y otros identificadores de dispositivo.
  8. <permission name=“location” />: Acceso al GPS y la localización por wifi.
  9. <permission name=“location-foreground” />: Para tomar las coordenadas en segundo plano.


A partir de la versión del framework de android 4.8.12.60, para poder poner notificaciones en Android 13, se debe poner este nuevo nodo al permissions que ya tengáis:

<permission name=“notifications” />

En versiones antiguas no es necesario, y si es un update de una version antigua en un móvil android >= 13 tampoco. Esto es para instalaciones de cero para nuevos móviles Android >= 13.

De la misma forma, bluetooth tambien es un permiso en runtime ahora, pero para Android >= 12. Si tenéis algun proyecto que haga uso de impresoras, el aparato de ITV, o cualquier otra cosa que haga uso del bluetooth os hace falta esto para android >= 12.

<permission name=“bluetooth” />