Cada aplicación en Android lleva su AndroidManifest.xml en el directorio raíz. Determina, antes de la ejecución de la aplicación, que acciones y permisos requiere la misma para ser ejecutada. Como en cualquier sistema linux, las aplicaciones Android están determinadas por los permisos de usuario. Si nuestra aplicación necesita hacer uso de la agenda de contactos, debemos especificarlo en el AndroidManifest.xml. La aplicación se ejecuta en un entorno linux con sus permisos de usuario. Aparte de otras cosas, AndroidManifest.xml se encarga de :
- Nombra el paquete JAVA. Cada paquete JAVA lleva un identificador único en la aplicación.
- Describe cada uno de los componentes de la aplicación — activities, services y broadcast receivers junto con content providers de los que nuestra aplicación hace uso. Nombra las clases que implementan cada uno de sus componentes y publica sus posibles opciones. Si necesitas acceder a una Activity o un Intent, lo declaramos.
- Determina que procesos implementa.
- Declara los permisos que necesita nuestra aplicación.
- Declara, asimismo, que permisos requieren otras partes para interactuar con nuestra aplicación.
- Permite definir niveles mínimos y máximo de SDK en los que nuestra aplicación será compatible.
- Lista las librerias que son enlazadas a nuestra aplicación.
Tipos de permisos
Tipo de permiso |
Constante AndroidManifest.xml |
Servicios basados en localización |
android.permission.ACCESS_COARSE_LOCATION |
android.permission.ACCESS_FINE_LOCATION | |
Acceso a contactos |
android.permission.CALL_PHONE |
android.permission.CALL_PRIVILEGED | |
Enviar y recibir SMS |
android.permission.READ_SMS |
android.permission.RECEIVE_MMS | |
android.permission.RECEIVE_SMS | |
android.permission.RECEIVE_WAP_PUSH | |
android.permission.SEND_SMS | |
android.permission.WRITE_SMS | |
Sockets de red |
android.permission.INTERNET |
Configuración audio |
android.permission.RECORD_AUDIO |
android.permission.MODIFY_AUDIO_SETTINGS | |
Configuración de red |
android.permission.ACCESS_NETWORK_STATE |
Configuración WiFi |
android.permission.ACCESS_WIFI_STATE |
android.permission.CHANGE_WIFI_STATE | |
Configuración hardware del dispostivo |
android.permission.BLUETOOTH |
android.permission.CAMERA | |
android.permission.FLASHLIGHT | |
android.permission.VIBRATE | |
android.permission.BATTERY_STATS |
En resumen, para empezar a entender el alcance de tu aplicación es importante conocer a fondo el fichero AndroidManifest.xml. Para la próxima entrega veremos un ejemplo práctico de aplicación y comenzaremos con los Activities, clases de JAVA donde se empieza a crear la interacción usuario-aplicación y donde podemos desplegar nuestro User Interface con setContentView(View). Hasta la próxima.
Simon perez
marzo 15, 2018En mi lanix aparece el siguiente mensaje: Missing permission in Android manifiest.xml loqie impide acceder a cualquier aplicscion, que debo hacer