Una intención representa la voluntad de realizar alguna acción o tarea, como realizar una
llamada de teléfono o visualizar una página web. Una intención nos permite lanzar una
actividad o servicio de nuestra aplicación o de una aplicación diferente. Tienen un gran
potencial en Android, por lo que resulta importante conocerlas y dominarlas.
En muchas ocasiones una intención no será inicializada por la aplicación, si no por el sistema,
por ejemplo, cuando pedimos visualizar una página Web. En otras ocasiones será necesario
que la aplicación inicialice su propia intención. Para ello se creará un objeto de la clase Intent.
Cuando se crea una Intención (es decir, se instancia un objeto de tipo Intent) esta contiene
información de interés para que el sistema trate adecuadamente la intención o para el
componente que recibe la intención. Puede incluir la siguiente información:
También puedes definir tus propias acciones. En este caso has de indicar el paquete de tu
aplicación como prefijo. Por ejemplo:
1. org.example.asteroides.MUESTRA_PUNTUACIONES.
2.
Categoría: Complementa a la acción. Indica información adicional sobre el tipo de
componente que ha de ser lanzado. El número de categoríaspuede ampliarse
arbitrariamente. No obstante, en la clase Intent se definen una serie de categorías
genéricas que podemos utilizar.
Constante Significado
La actividad lanzada puede ser invocada con
seguridad por el navegador para mostrar los
CATEGORY_BROWSABLE datos referenciados por un enlace (por
ejemplo, una imagen o un mensaje de correo
electrónico).
La actividad muestra la pantalla de inicio, la
primera pantalla que ve el usuario cuando el
CATEGORY_HOME
dispositivo está encendido o cuandose
presiona la tecla Home.
La actividad puede ser la actividad inicial de
CATEGORY_LAUNCHER una tarea y se muestra en el lanzador de
aplicaciones de nivel superior.
La actividad a lanzar es un panel de
CATEGORY_PREFERENCE
preferencias.
Una categoría suele utilizarse junto con una acción para aportar información adicional. Por
ejemplo, indicaremos ACTION_MAIN a las actividades que pueden utilizarse como puntos
de entrada de una aplicación. Indicaremos además CATEGORY_LAUNCHER para que la
actividad sea mostrada en la pantalla de inicio.
Datos: Referencia a los datos con los que trabajaremos. Hay que expresar estos datos por
medio de una URI (el mismo concepto ampliamente utilizado en Internet). Ejemplos de
URIs son: tel:963228525, http://www.androidcurso.com, content://call_log/calls… En
muchos casos resulta importante saber el tipo de datos con el que se trabaja. Con este
propósito se indica el tipo MIME asociado a la URI, es decir, se utiliza el mismo mecanismo
que en Internet. Ejemplos de tipos MIME son text/xml, image/jpeg, audio/mp3…
Extras: Información adicional que será recibida por el componente lanzado. Está formada
por un conjunto de pares variable/valor. Estas colecciones de valores se almacenan en un
objeto de la clase Bundle. Su utilización ha sido descrita en la sección Comunicación entre
actividades. Recordemos cómo se introducían estos valores en un Intent.