我正在使用Intent .ACTION_SEND
来获取默认的电子邮件客户端。它工作正常,但现在我需要在电子邮件中附加多个文件。email.putExtra(android.content.Intent.EXTRA_STREAM,...)
仅附加添加到它的最后一个URI。
那么我可以附加多个文件吗?我想这可以通过使用Intent.ACTION_SEND_MULTIPLE
来完成。下面是我正在尝试的代码:
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..."));
先谢了。
5条答案
按热度按时间o2rvlv0m1#
这很有效:
然后添加文件的URI:
5hcedyr02#
您可以如下所示使用Intent的
putParcelableArrayListExtra
方法。而不是像这样使用:email.putExtra(Intent.EXTRA_STREAM, Uri.parse(uri));
,您可以使用ArrayList
,如下所示:qyswt5oh3#
为我工作
7kjnsjlb4#
下面是将完成这项工作的函数:)
mitkmikd5#
经过1天的工作,终于我能够附加多个图像文件从\sdcard\accident\ folder到电子邮件客户端。附加多个文件,我不得不添加图像到ContentResolver这是负责画廊图像提供商。这里是完整的代码---
因此,代码的第一部分没有变化--但是getUriListForImages()方法有变化,如下所示--
这是工作正常,我能够附加多个图像文件到模拟器默认的电子邮件客户端,然后发送成功。