Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: ACTION_SEND_MULTIPLE with com.android.email

I'm trying to send multiple attachments in an Intent to the Email app (not the Gmail app). I'm using:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { "[email protected]" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"This is an email");
emailIntent.putExtra(Intent.EXTRA_TEXT, "This is the body");

File f1 = null;
File f2 = null;
try {
    f1 = new File("/sdcard/test");
    f2 = new File("/sdcard/test.1");
    FileWriter fw1 = new FileWriter(f1);
    FileWriter fw2 = new FileWriter(f2);
    fw1.write("this is some text");
    fw2.write("this is more text");
    fw1.close();
    fw2.close();
} catch (IOException e) {
    e.printStackTrace();
}

ArrayList<Uri> uris = new ArrayList<Uri>();
uris.add(Uri.fromFile(f1));
uris.add(Uri.fromFile(f2));
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,uris);

startActivity(emailIntent);

When Gmail is used to handle the Intent, it comes up with both attachments showing, and everything works just fine. When the Email app is used instead, no attachments are added. When using a single Uri in EXTRA_STREAM, the single attachment works, but using an ArrayList does not. I've pieced together this code from other questions asked on here, but none of them resolve this issue. Can anyone help?

like image 619
scroogemcduck Avatar asked Apr 21 '26 16:04

scroogemcduck


2 Answers

use

emailIntent.setType(" */ * ");

with no spaces

see here ACTION_SEND_MULTIPLE

like image 112
Damir Mailybayev Avatar answered Apr 24 '26 07:04

Damir Mailybayev


I realize that this is quite late, but your intent type is backwards. It should be

emailIntent.setType("text/plain");

not

emailIntent.setType("plain/text");

I'm surprised neither of the other answers pointed that out...

like image 33
ArtOfWarfare Avatar answered Apr 24 '26 05:04

ArtOfWarfare



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!