Como hemos visto en post anteriores al hacer una modificacion en el archivo AndroidMainfest.xml existia un tag llamado intent-filter, este elemento no fue utilizado por nosotros porque es mas utilizado para las intenciones implicitas en lugar de las explicitas porque estas ultimas se utilizan con el nombre directo.
Cuando se crea una intencion implicita, esta pasara por el intent-filter para ver si la misma coincide con algunas de las acciones, datos o categorias dentro de la misma, hablemos un poco mas sobre estos elementos del filtro:

  • < action >, se usa para declarar la intencion aceptada por medio del atributo name, el valor debe ser el contenido literal de la string de una accion, no de la constante de una clase
  • < data >, se declara el tipo de datos que se pueden aceptar, mediante el uso de varios atributos descriptores del URI de los datos y el tipo de MIME
  • < category >, daclara el tipo de intencion aceptada por medio del atributo name, al igual que action debe ser el valor string literal de una accion, no la constante de clase

Cuando creamos nuestro proyecto, en el archivo AndroidManifest.xml se genera unos filtros automaticamente, por ejemplo si creamos una nueva app o vemos algunas de nuestras primeras app tendremos los siguientes filtros:

< intent-filter >
    < action android:name="android.intent.action.MAIN" / >

    < category android:name="android.intent.category.LAUNCHER" / >
< /intent-filter >

Esta seria la version mas basica de nuestros filtros, es decir la creada por defecto, ahora veamos a nuestros filtros de la app MisLugares:

< intent-filter >
    < action android:name="android.intent.action.MAIN" / >
    < action android:name="android.media.action.IMAGE_CAPTURE" / >

    < category
        android:name="android.intent.category.LAUNCHER" / >
< /intent-filter >

Como pueden ver al nosotros utilizar esta intencion implicita para poder capturar imagenes con nuestra camara, como vimos en este post, el editor la agrego automaticamente dentro de nuestros filtros para poder ser utilizada al ser llamada pero en otras ocasiones tendremos que modificar o agregar algun filtro para poder utilizar de mejor forma nuestra intenciones.
En resumen, el filtro de intenciones (intent-filter) son utilizadas para una mejor asignacion de las intenciones implicitas, se pueden utilizar tres tipos: action (accion), data (datos) y category (categoria). Espero les sea util, sigueme en Twitter, Facebook o Google+ para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios