Curso de desarrollo Android. Tema 14: los permisos de las aplicaciones en el archivo AndroidManifest.xml

Autor: | Posteado en Android Sin comentarios

Como medida de seguridad, Android® no admite que ninguna aplicación acceda a ciertos elementos del sistema operativo continuamente y cuando no pida permiso para ello e documento así al cliente de hasta dónde va a poder tener accedo una determinada aplicación. Por ello, durante el proceso de desarrollo en Android de una aplicación, un juego o facilmente un recurso, los desarrolladores deben determinar en el fichero de manifiesto todos los apartados del aparato a los que podrá entrar su aplicación.

Gracias a los permisos, por ejemplo, se puede eludir que una aplicación malintencionada pueda acceder, por ejemplo, a enviar SMS a números de tarificación adicional salvo que esté especificado en sus permisos, sabiendo así el cliente que dicha aplicación va a tener ingreso a los msjes de texto y a poder enviar msjes a números externos, algo que, por ejemplo, según la aplicación que estemos instalando, puede ser algo sospechoso.

Dentro del planeta del desarrollo Android existen un enorme número de permisos diferentes. Algunos de los más utilizados en las apps son:

  • ACCESS_WIFI_STATE. Nos admite entender el estado de la conexión Wi-Fi.
  • INTERNET. Permite a la aplicación salir a Internet. Sin este permiso, la aplicación no establecería conexión.
  • READ_CALENDAR, READ_CONTACTS. Todo lo relacionado con READ nos va a indicar que la aplicación posee permiso para “leer” la información de ciertos elementos, como el almanaque o los contactos.
  • WRITE_CALENDAR, WRITE_CONTACTS. Al igual que REAL, WRITE nos señala que la aplicación va a poder “escribir” información en ciertos elementos del sistema.
  • BLUETOOTH. La aplicación puede entrar al bluetooth, para mirar el estado, enviar o obtener información.
  • CAMERA. La app podrá crear uso de la cámara para tomar fotografías o crear vídeos.

En el blogger oficial de desarrolladores de Android encontraremos una lista completa con todos los permisos.

En las últimas versiones de Android, cuando un determinado permiso puede admitir a la aplicación efectuar acciones de pago (por ejemplo, crear llamadas o enviar SMS), Android® nos lo indicará como “permisos críticos“, y debemos estar seguros de que la aplicación es de seguridad antes de instalarla.

Cómo decir los permisos de vuestra aplicación en Android® Studio

Los permisos, junto a otra serie de especificaciones, van definidos dentro de un fichero obligatorio en todo proyecto Android® llamado AndroidManifest.xml. Este fichero, en Android® Studio, se descubre ubicado en la ruta del proyecto app/manifests.

Según lo que vaya a crear vuestra aplicación y a qué apartados del aparato requiere acceder, debemos añadir, uno a uno, todos los permisos añadiendo en este archivo de manifiesto la siguiente línea:

  • <uses-permission android:name=”android.permission.INTERNET”/>

Obviamente, debemos cambiar INTERNET por el permiso concreto que vamos a usar de entre todos los posibles. Un ejemplo de una aplicación con muchos permisos sería la siguiente:

Android Studio nos proporciona una asistencia muy completa a la hora de añadir los permisos. Por ello, facilmente escribiendo en el fichero AndroidManifest <uses-permission nos aparecerá la opción de autocompletar la entrada junto a una lista con todos los permisos libres para Android.

Una vez especificamos un permiso, la aplicación podrá crear uso del recurso correspondiente y a la hora de instalarla, el cliente sabrá lo que podrá y no podrá crear una determinada aplicación. Sin embargo, si olvidamos determinar uno (por ejemplo, el ingreso a la cámara), la aplicación no podrá crear uso de ella. Por más que lo intente, Android® no le dejará entrar a ella.

Cómo ve el cliente final los permisos de la aplicación

Los desarrolladores definen los permisos, entre otras razones, para que los clientes finales sean aptos de saber qué va a poder y qué no va a poder crear la aplicación, evitando el uso de todas aquellas que, por ejemplo, tengan permiso para enviar SMS o para entrar a la agenda.

Tanto la Play Store como Android® son los encargados de mostrar al cliente todos los permisos de las aplicaciones. De esta manera, en la tienda vamos a poder mirar un extracto de los mismos antes de descargarla a vuestro aparato de manera que si algo no nos parece normal, podamos dar marcha atrás y no descargar la aplicación.

Si en vez de desde la Play Store intentamos instalar una aplicación desde el archivo apk, el propio sistema Android® nos mostrará también un extracto con todos los permisos.

Una buena costumbre, sin embargo no la tienen todos los programadores, es explicar en la descripción de la app al publicarla el por qué de cada permiso. De esta manera, los clientes pueden saber por qué la aplicación pide permiso para entrar a ciertos recursos, sin embargo, esto no es obligatorio y, al final, depende de cada desarrollador el ser sincero u ocultar la información.

Enlaces

El capítulo Curso de crecimiento Android. Tema 14: los permisos de las apps en el archivo AndroidManifest.xml se publicó en MovilZona.

MovilZona


Fuente del contenido original se encuentra más arriba (enlace), respetando todos los derechos de autor.

La prensa de Core i7

También puedes revisar estas noticias relacionadas.

Agrega tu comentario