如何将jpeg文件附加到android中的邮件?

时间:2013-04-16 08:40:43

标签: android

我将附加文件,但它们显示为(0字节) 下面的代码是我使用

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("image/jpeg");
emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "ToDoNot.es");
emailIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(message));
File save_Image;
File temp=null;
save_Image=new File(ToDoViewActivity.this.getFilesDir(),"todofile");
temp=new File(save_Image,"tempfile"+String.valueOf(values.getAsInteger("rowid"))+".jpg");
Uri U = Uri.fromFile(new File("file://"+temp.getPath()));
emailIntent.putExtra(Intent.EXTRA_STREAM,U);
startActivity(Intent.createChooser(emailIntent, "Send email using"));

outpur: enter image description here

3 个答案:

答案 0 :(得分:0)

你没有输入文件类型...也许它是这个的原因。

save_Image=new File(.........................."todofile.jpg")

答案 1 :(得分:0)

问题可能与 temp 文件上的 getPath 调用有关。检查该调用的返回值,并确保传递给 putExtra 的构造URI与这些文档中描述的样式之一匹配:

Trying to attach a file from SD Card to email

https://superuser.com/questions/352133/what-is-the-reason-that-file-urls-start-with-three-slashes-file-etc

最值得注意的是,文件后需要3个斜杠:。此外,但不太可能,您的问题可能是由您使用 setType 设置的MIME类型引起的。

答案 2 :(得分:0)

我也有这个问题 - 问题是你试图从应用程序的内部文件目录中附加一个文件,并且电子邮件意图没有访问它的权限。

首先将其复制到“外部”存储,然后将其附加到电子邮件中。这应该可以正常工作。