Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 801
naresh Avatar asked Sep 05 '12 06:09

naresh


2 Answers

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.

like image 86
Vinay W Avatar answered Oct 20 '22 11:10

Vinay W


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)));
        }
} 
like image 23
AndroidDev Avatar answered Oct 20 '22 09:10

AndroidDev