Intent en android

Preview:

Citation preview

Intent en Android

Emerson Garay

www.slidechare.net/emergar

www.youtube.com/emergaray

Llamadas entre Actividades

Una aplicación puede contener cero o más actividades(Activity). Cuando una aplicación posee más de una actividad, es bastante frecuente arrancar una de ellas desde otra. Esto se consigue mediante una intención (Intent en inglés).

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Tipos de llamadas con Intent

•Tareas Abstractas:

•Tomar Foto

•Enviar mensaje

Implícitas

•Se indica el componente a lanzar

Explicitas

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Intent

Implícitas

MAP GEO Location

Dial a Call

Launch Website in Webview

Explicitas

Start Broad-cast Receivers

Launch Activity

Start Background-Service

Las Intenciones

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Las Intenciones

Representan la voluntad de realizar una acción o tarea.

Se utilizan cada vez que se quiera:

• Lanzar una actividad: starActivity() y startActivityForResult()

• Lanzar un servicio: starService()

• Lanzar un anuncio de tipo broadcast: sendBroadcast()

• Comunicarnos con un servicio : bindService()

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Partes de un Intent

Nombre del componente:

En las intenciones explicitas se identifica el componente a lanzar, colocando el nombre de la clase.

Acción:

En las intenciones implícitas se pasa una cadena de caracteres que indica la acción. En la clase Intent están definidas una lista de constaste comunes aunque se pueden definir nuevas.

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

(2) Partes de un Intent

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.

i.putExtra("id", "9200123")

i.putExtra("usuario", “egaray");

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Iniciar otra actividad

Intent i = new Intent(this, Act_Matricula.class);

i.putExtra(“id”, identificacion);

starActivity(i);

Se crea el Intent indicando: 1. Desde que Activity se llama con: this 2. A que Activity se va abrir con: Act_Matricula.class

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Iniciar otra actividad

Para lanzar una actividad de forma implícita podemos usar el constructor Intent(String action, Uri uri)

Por ejemplo:

Intent i = new Intent(Intent.ACTION_DIAL, URI.parse("tel:4002849347"));

startActivity(i);

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Constante Componente

a lanzar Acción

ACTION_CALL Actividad Inicializa una llamada de teléfono.

ACTION_EDIT Actividad Visualiza datos para que el usuario los edite.

ACTION_MAIN Actividad Arranca como actividad principal de una tarea. (sin datos de entrada y sin devolver datos)

ACTION_SYNC Actividad Sincroniza datos en un servidor con los datos de un dispositivo móvil.

ACTION_BATTERY_LOW Receptor de

anuncios Advertencia de batería baja.

ACTION_HEADSET_PLUG Receptor de

anuncios Se han conectado o desconectado los auriculares.

ACTION_SCREEN_ON Receptor de

anuncios Se ha activado la pantalla.

ACTION_TIMEZONE_CHANGED Receptor de

anuncios Se cambia la selección de zona horaria.

Acciones Genéricas Intent

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Ejemplos

public void pgWeb(View view) {

Intent i = new Intent(Intent.ACTION_VIEW,

Uri.parse("http://www.androidcurso.com/"));

startActivity(i);

}

public void llamadaTelefono(View view) {

Intent i = new Intent(Intent.ACTION_CALL,

Uri.parse("tel:400849347"));

startActivity(i);

}

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Ejemplos

public void googleMaps(View view) { Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:41.656313,-0.877351")); startActivity(i); } public void tomarFoto(View view) { Intent i = new Intent("MediaStore.ACTION_IMAGE_CAPTURE"); startActivity(i); }

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

public void mandarCorreo(View view) {

Intent i = new Intent(Intent.ACTION_SEND);

i.setType("text/plain");

i.putExtra(Intent.EXTRA_SUBJECT, "asunto");

i.putExtra(Intent.EXTRA_TEXT, "texto del correo");

i.putExtra(Intent.EXTRA_EMAIL, new String[] {"egaray\@ingenesys.co"});

startActivity(i);

}

Ejemplos

Ejemplo

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Ejemplo

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Ejemplo

2017 www.slideshare.net/emergar Ing. Emerson E. Garay Gómez

Recommended