User Tools

Site Tools


en:wiki:2.-desarrollo-app:2.3.-codigo:c.-eventos:23.-permissions:start



Permisos en Aplicación


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. -->
	<!-- CUIDADO, GOOGLE restringe el uso de este permiso a los frameworks que estén en el Google Play, salvo causa justificada y obteniendo los permisos pertinentes -->
	<!-- <permission name="sms" /> -->
 
</permissions>


Los frameworks que estén alojados en el Google Play NO pueden utilizar el permiso de SMS, salvo causa justificada y obteniendo los permisos necesarios por parte de Google.

en/wiki/2.-desarrollo-app/2.3.-codigo/c.-eventos/23.-permissions/start.txt · Last modified: 2019/01/21 16:14 by ejetoro