Download - Intent en android
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