naresh
naresh

Reputation: 10392

Android - How to open the email client directly

I want to open the default email client instead of showing the options. I tried but i am not getting please can anyone help me.

I used the following code:

  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:"));   

It's show the options

enter image description here

But I want to open then Default email client directly.

enter image description here

Upvotes: 7

Views: 8691

Answers (2)

Vinay W
Vinay W

Reputation: 10190

Frame a String in the format String URI="mailto:?subject=" + subject + "&body=" + body;

and

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

This will open up the default e-mail program selected by the user.

Linkify does it this way. Check out it's source code, if you like.

Upvotes: 15

AndroidDev
AndroidDev

Reputation: 4559

You can used the following code to open whatever intent you want eg gmail, facebook, email etc..Simple in the type as used in my code pass "gmail" if you want to open gmail, pass "face" if u want to open 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)));
        }
} 

Upvotes: 8

Related Questions