This translation is older than the original page and might be outdated. See what has changed.

This is an old revision of the document!





Sistema de permisos en runtime


Esta funcionalidad, de momento, solo es necesaria para Android.


A partir de Android 6.X se implementó una opción en los ajustes del dispositivo, para poder gestionar los permisos que les tenemos concedidas a las diferentes aplicaciones


Anteriormente, los permisos de una aplicación se solicitaban al instalar, con el nuevo targetSdkVersion, al instalar la aplicación no pide permisos, las aplicaciones están obligadas a solicitar los permisos en runtime, cuando se vayan a necesitar.

Para ello, se han modificado el pushValue y el openEditView, para que antes de lanzarlos, solicite los permisos necesarios al usuario.


Nodo permissions

Los permisos que solicita los determina si existe el nodo <permissions> en la colección.

La colección tiene que ser llamada y tener UI, es decir, no puede ponerse en la colección “Empresas” ó “Usuarios”, lo normal es ponerlo en la colección login-coll ó entry-point, de forma que los permisos estén disponibles para cuando vayamos a utilizarlos en alguna parte de la aplicación, esto no quiere decir que no podamos ir pidiendo los permisos cuando los vayamos necesitando, poniendo el nodo <permissions> en la colección correspondiente y solicitando el permiso que necesitemos en ese momento.

Si el permiso ya estuviera concedido, no aparecerá ningún mensaje solicitando permisos.

Los permisos que solicitemos son obligatorios, es decir, si el usuario no acepta los permisos, no podrá entrar en la colección donde hayamos solicitado los permisos.



Sintaxis del nodo <permissions>:

<permissions> 
 
	<!-- Acceso a la SDCard/almacenamiento externo. Necesario para la réplica y en general el funcionamiento del framework -->
	<permission name="external-storage" /> 
 
	<!-- Acceso al hardware de telefonía, para hacer llamadas y poder obtener IMEI y otros identificadores de dispositivo. -->
	<permission name="phone" /> 
 
	<!-- Acceso a la cámara. Necesario para multitud de plugins. -->
	<permission name="camera" />
 
	<!-- Acceso al GPS y la localización por wifi. -->
	<permission name="location" />
 
	<!-- Acceso al calendario del usuario para leer/añadir eventos. -->
	<permission name="calendar" />
 
	<!-- Leer los contactos. -->
	<permission name="contacts" />
 
	<!-- Acceso al micrófono. -->
	<permission name="microphone" />
 
	<!-- Lectura y envío de SMS. -->
	<permission name="sms" />
 
</permissions>