是否可以设置附加意图的文件扩展名?
此代码适用于我,但是获取的图像具有像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"));
等...
Android上的Gmail客户端无法发送附件。
我错过了什么吗?
问候,Jan
答案 0 :(得分:0)
无法共享这样的资源。您必须先将其复制到sdmedia,然后才能设置文件名。或者使用ContentProvider。