I am using Intent .ACTION_SEND
to get default email client. It works fine but now i need to attach more than one file to email.
email.putExtra(android.content.Intent.EXTRA_STREAM,...)
attaches only last uri added to it.
So can I attach multiple files? I think this can be done by using Intent.ACTION_SEND_MULTIPLE
. Here is the code I am trying:
String uri=getScreenShot();
Intent email = new Intent(android.content.Intent.ACTION_SEND);
email.setType("application/octet-stream");
email.putExtra(Intent.EXTRA_STREAM, Uri.parse(uri));
email.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file:"+csvpath));
alert.dismiss();
ctx.startActivity(Intent.createChooser(email, "Send mail..."));
Thanks in advance.
That works:
then add files' uris:
Hope that helps.
You can use
putParcelableArrayListExtra
method of Intent as shown below. Instead of using like this:email.putExtra(Intent.EXTRA_STREAM, Uri.parse(uri));
, you can use anArrayList
as shown below:Worked For Me
Here is function that will do the job :)
After 1 day work finally I am able to attach multiple image files from \sdcard\accident\ folder to email client. For attaching multiple files I had to add the images to the ContentResolver which is responsible for gallery images provider. Here is the Complete Code ---
So there is no change in the First Section of Code -- But Change is in getUriListForImages() method which is as follows---
This is working fine and I am able to attach multiple image files to emulator default email client and send then successfully .