【发布时间】:2016-07-30 04:48:01
【问题描述】:
我正在尝试将多个图像添加到电子邮件意图中。这是我一直在使用的代码。
final ArrayList<Uri> uris = new ArrayList<>();
for (int i = 0; i < form.getImageContainers().size(); i++)
uris.add(Uri.fromFile(new File(form.getImageContainers().get(i).getImagePath())));
final Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:"))
.putExtra(Intent.EXTRA_EMAIL, "pdlmob@auburn.edu")
.putExtra(Intent.EXTRA_SUBJECT, "Sample Submission (Beta Test)")
.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(buildBody()));
.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
startActivity(Intent.createChooser(emailIntent, "Send email..."));
但它没有附加任何内容,只是正文和其他所有内容。
我尝试通过用此行替换 .putParcelableArrayListExtra 来获取单个图像
.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(form.getImageContainers().get(0).getImagePath())));
它确实附上了图像,所以我可以告诉存储路径的字符串没有任何问题。不幸的是,我无法循环并只为每个图像使用该行,因为它只会使用最后一个(尝试过)。我已经阅读了使用此方法的答案以及使用 Intent.ACTION_SEND_MULTIPLE 的其他答案,但这给了我一个空选择器,告诉我没有任何应用程序可以执行该操作。
为什么它不起作用?
【问题讨论】:
标签: android image email android-intent