Búsqueda personalizada

Blog personal para aprender a programar en Android desde cero.

sábado, 13 de marzo de 2010

Enviar e-mail con datos predefinidos (con Intents)

Puede que desde nuestra aplicación queramos enviar un email, ya sea para que el usuario se ponga en contacto con nosotros, con algún negocio, etcétera. En este post voy explicar como hacerlo con Intents.

// Creamos el Intent pasando un String
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);


// Rellenamos los datos que queremos predefinir
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"sergi.bc@gmail.com"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "DeSBC");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Gracias SBC");


// Empezamos la acción con createChooser
context.startActivity(Intent.createChooser(emailIntent, "Send mail..."));


En la primera línea creamos un Intent al que le pasamos un String con la acción android.content.Intent.ACTION_SEND. Esta acción permite al usuario enviar información a otra persona, aunque todavía no está definido el como.

En las siguientes 4 líneas estamos completando la información que por defecto queremos enviar, para que cada vez que ejecutemos esta acción siempre sea la misma.
El método Intent.putExtra(String, Bundle) añade información extra al Intent. También es posible eliminar información con Intent.removeExtra(String) y recuperar todo el Bundle con Intent.getBundleExtra(String).

En la última línea, con Intent.createChooser(Intent, String), estamos creando un Intent de tipo ACTION_CHOOSER. Se utiliza este método por convención en vez de crearlo de la manera habitual (new Intent(...)). Lo que conseguimos es lanzar una pantalla en la que podemos elegir una Activity, que en nuestro caso será la Activity encarga de enviar el email. Esta puede ser la Activity de gmail o de cualquier otra que sea capaz de enviar emails.





No hay comentarios:

Publicar un comentario