Vous êtes sur la page 1sur 5

Programación en Android

Tema: Intents

Intents

Los intents son la forma de representar una acción a través de mensajes. Forma de comunicación en Android,
que permite interactuar componentes de la misma aplicación o entre diferentes aplicaciones (Activities,
Services, Broadcasts, etc.).

Recordemos que para que un intent cuya acción sea la de iniciar otra actividad, es necesario que dicha actividad
esté definida en el manifest.xml

Existen dos tipos de intents, implícitos o explícitos, un intent implícito, requiere que definamos un intent filter
para definir la acción que puede realizar la actividad, esto lo definimos en el manifest, de esta manera otra
aplicación o componente puede llamar esta actividad llamándola por su acción y no por su nombre:

<activity android:name=".BrowserActivitiy" android:label="@string/app_name">


<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"
/> <data android:scheme="http"/>
</intent-filter>
</activity>

En este caso podemos llamar la actividad:

Intent intent = new Intent(Intent.ACTION_VIEW,


Uri.parse("http://www.example.com"));
startActivity(intent);

Centro de teleinformática y producción industrial


Popayán, Cauca 2016
Programación en Android
Tema: Intents

En el caso de intents explícitos, se indica la clase de la actividad que se quiere llamar y no


necesitamos definir la acción con un intent filter en el manifest:

Intent intent = new Intent(this, Activity2.class);


startActivity(intent);

Cuando invocamos la nueva actividad sucede lo siguiente:

Transmisión de datos

La transmisión de datos desde la activity de origen a la de destino se hace con el intent. EL intent tiene varios
métodos que inician con put, ejemplo:

 putExtras: Creamos un objeto Bundle y lo usamos para agregar valores asignando a cada valor una clave
para poder leerlos posteriormente:

 putExtra: Podemos agregar claves con valores numéricos, strings, booleanos

Centro de teleinformática y producción industrial


Popayán, Cauca 2016
Programación en Android
Tema: Intents

En el onCreate de la actividad destino, podemos obtener estos parámetros

 Si se envía putExtras:





 Si se envía putExtra:

startActivityForResult

Sirve para lanzar una actividad que retorna un resultado final cuando es finalizada. Cuando la actividad finaliza la
actividad que la llamó invoca el método onActivityResult().

Hagamos un ejemplo:

En nuestra actividad de origen definimos un botón y cuando haga click llamamos:

Enviamos nuestro código de solicitud para que cuando obtengamos el resultado sepamos que el código
usado para llamar esta actividad fue el 0 (esto es útil si tenemos varios llamados startActivityforResult desde
una misma actividad)

En la actividad destino, creamos un botón que cuando haga click, finalice la actividad enviando un código
de resultado a la actividad de origen y datos si es necesario:

Centro de teleinformática y producción industrial


Popayán, Cauca 2016
Programación en Android
Tema: Intents

Finalmente en la actividad de origen sobreescribimos el método onActivityResult para leer los datos enviados y
realizar alguna acción, tras finalizar la actividad de destino:

Ejercicio

1. Realizar la navegación entre una pantalla y otra enviando 2 Strings de los editText de la primera
pantalla y mostrándolos en la segunda.

2. Llamar la actividad de la cámara con el startActivityForResult y leer los datos para mostrarlos en la
interfaz
Pista 1 en startActivityforResult:

Pista 2 en onActivityResult:

Centro de teleinformática y producción industrial


Popayán, Cauca 2016
Programación en Android
Tema: Intents

Centro de teleinformática y producción industrial


Popayán, Cauca 2016

Vous aimerez peut-être aussi