1

是否可以设置附加意图的文件扩展名?

此代码适用于我,但附加的图像具有像 flag_be 这样的文件名,并且由于缺少我猜的扩展名,接收电子邮件客户端无法将其识别为图像。如果只是更改名称,附件是有效的并且不会损坏。

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is my text");
emailIntent.putExtra(Intent.EXTRA_SUBJECT,"This is the subject!");
emailIntent.setType("image/png");

ArrayList<Uri> uris = new ArrayList<Uri>();
uris.add(Uri.parse("android.resource://" + getPackageName() + "/drawable/flag_be"));

emailIntent.putExtra(Intent.EXTRA_STREAM, uris);

startActivity(emailIntent);

一旦我尝试做一些聪明的事情,它就会失败:

uris.add(Uri.parse("android.resource://" + getPackageName() + "/drawable/flag_be.png"));
uris.add(Uri.parse("android.resource://" + getPackageName() + "/drawable-xhdpi/flag_ag.png"));

ETC...

Android 上的 Gmail 客户端无法发送附件。

我错过了什么吗?

问候,扬

4

1 回答 1

0

没有办法像这样共享资源。您必须先将其复制到 sdmedia,然后才能设置文件名。或者使用 ContentProvider。

于 2013-05-02T10:11:38.513 回答