Sending emails
suggest change// Compile a Uri with the 'mailto' schema Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( "mailto","[email protected]", null)); // Subject emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Hello World!"); // Body of email emailIntent.putExtra(Intent.EXTRA_TEXT, "Hi! I am sending you a test email."); // File attachment emailIntent.putExtra(Intent.EXTRA_STREAM, attachedFileUri); // Check if the device has an email client if (emailIntent.resolveActivity(getPackageManager()) != null) { // Prompt the user to select a mail app startActivity(Intent.createChooser(emailIntent,"Choose your mail application")); } else { // Inform the user that no email clients are installed or provide an alternative }
This will pre-fill an email in a mail app of the user’s choice.
If you need to add an attachment, you can use Intent.ACTION_SEND
instead of Intent.ACTION_SENDTO
. For multiple attachments you can use ACTION_SEND_MULTIPLE
A word of caution: not every device has a provider for ACTION_SENDTO
, and calling startActivity()
without checking with resolveActivity()
first may throw an ActivityNotFoundException.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents