Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sending Email from Android app when click on button

Tags:

I need to provide feature for users where users can share some data by sending email. I used below code.

    Intent email = new Intent(android.content.Intent.ACTION_SENDTO);     email.setType("message/rfc822");     email.putExtra(Intent.EXTRA_EMAIL, new String[] { to });     email.putExtra(Intent.EXTRA_SUBJECT, subject);     email.putExtra(Intent.EXTRA_TEXT, message);     startActivity(Intent.createChooser(email,"Choose an Email client :")); 

This shows Email, gmail, Skype and send via bluetooth for user to choose. I dont want user to show Skype,send via bluetooth in this list. What i need to do ? I have WhatsApp in my phone, which does same thing, but doesn't show Email, bluetooth in the list(Settings->help->Contactus->...).only show Email and Gmail in list. I need to do the same.

like image 574
Amardeepvijay Avatar asked Feb 12 '14 06:02

Amardeepvijay


People also ask

How do you open email app on Android?

Step 1: On the home screen, tap on Apps > Settings > Accounts or simply go to Apps > Email to open up the email app. Step 2: Tap on 'Add account' and select the kind of account you want to add, e.g. Email, Google, Personal (IMAP) or Personal (POP3).


2 Answers

Try this:

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(             "mailto","[email protected]", null)); intent.putExtra(Intent.EXTRA_SUBJECT, subject); intent.putExtra(Intent.EXTRA_TEXT, message); startActivity(Intent.createChooser(intent, "Choose an Email client :")); 

If you don't have a specific recipient - go like this:

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(             "mailto", "", null)); 
like image 117
localhost Avatar answered Oct 13 '22 21:10

localhost


use this method to share via gmail only jus you need to call

startActivity(getSendEmailIntent(context, email,subject, body));      public Intent getSendEmailIntent(Context context, String email,                     String subject, String body) {             Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);              try {                  // Explicitly only use Gmail to send                 emailIntent.setClassName("com.google.android.gm",                         "com.google.android.gm.ComposeActivityGmail");                  emailIntent.setType("text/html");                  // Add the recipients                 if (email != null)                     emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,                             new String[] { email });                  if (subject != null)                     emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,                             subject);                  if (body != null)                     emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body));                  // Add the attachment by specifying a reference to our custom                 // ContentProvider                 // and the specific file of interest                 // emailIntent.putExtra(                 // Intent.EXTRA_STREAM,                 // Uri.parse("content://" + CachedFileProvider.AUTHORITY + "/"                 // + fileName));                   return emailIntent;     //          myContext.startActivity(emailIntent);             } catch (Exception e) {                 emailIntent.setType("text/html");                  // Add the recipients                 if (email != null)                     emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,                             new String[] { email });                  if (subject != null)                     emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,                             subject);                  if (body != null)                     emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body));      //          myContext.startActivity(Intent.createChooser(emailIntent,     //                  "Share Via"));                  return emailIntent;             }             } 
like image 24
Maulik.J Avatar answered Oct 13 '22 23:10

Maulik.J