2012-09-05 10 views
7

Quiero abrir el cliente de correo electrónico predeterminado en lugar de mostrar las opciones. Lo intenté, pero no estoy recibiendo, por favor, ¿alguien puede ayudarme?Android - Cómo abrir el cliente de correo electrónico directamente

He utilizado el siguiente código:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 

     emailIntent.setType("text/html"); 
     emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "My Allergy Journal");  
     emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml("<small>"+sb.toString()+"</small>"));         
     startActivity(Intent.createChooser(emailIntent, "Email:")); 

Es mostrar las opciones

enter image description here

Pero quiero abrir cliente de correo electrónico predeterminado y luego directamente.

enter image description here

Respuesta

8

Puede utilizar el siguiente código para abrir cualquier intento que desee, por ejemplo, gmail, facebook, correo electrónico, etc. Simple en el tipo de mi código pase "gmail" si quiere abrir gmail, pase "cara" si ¿Quieres abrir Facebook

Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
intent.setType("text/html"); 
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(intent, 0); 

if (!resInfo.isEmpty()) 
{ 
    for (ResolveInfo info : resInfo) 
    { 
    if (info.activityInfo.packageName.toLowerCase().contains(type) || info.activityInfo.name.toLowerCase().contains(type)) 
    { 
      intent.putExtra(android.content.Intent.EXTRA_TEXT, htmlBody); 
      intent.setPackage(info.activityInfo.packageName); 
      startActivity(Intent.createChooser(intent, getResources().getString(R.string.share_send_text))); 
     } 
} 
+0

Quiero abrir el cliente de correo electrónico de Android. Para esto, ¿qué cuerda usé en vez de escribir? – naresh

+0

solo use "correo electrónico" en el campo de tipo ........ hágamelo saber si funciona o no – AndroidDev

+0

gracias está funcionando – naresh

14

Encuadre de una cadena en el formato String URI="mailto:?subject=" + subject + "&body=" + body;

y

Intent intent = new Intent(Intent.ACTION_VIEW); 
Uri data = Uri.parse(URI); 
intent.setData(data); 
startActivity(intent); 

Esto abrirá el programa de correo electrónico predeterminado seleccionado por el usuario.

Linkify lo hace de esta manera. Consulte it's source code, si lo desea.

+0

Simplemente funciona para mí. – Bwire

+0

funciona como el encanto! –

Cuestiones relacionadas