Android,

AndroidManifest.xml, una declaración de intenciones.

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.
Por norma general, Eclipse te ofrece siempre dos vistas para modificar tanto los res/values/strings.xml (cadenas de textos de tu aplicación), los res/layout/main.xml o el propio AndroidManifest.xml, una completamente visual que rellenas a través de formularios o visualizas arrastrando elementos (caso del layout) y otra como editor de textos puro y duro, directamente al xml. Siempre es recomendable, una vez que conocemos cada una de las partes de nuestros ficheros xml, ir directamente al editor y crear nuestros ficheros utilizando solo texto, ya que en ocasiones no todas las opciones están disponibles en todos los casos.

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.