0

我将附加文件,但它们显示为(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"));

输出: 在此处输入图像描述

4

3 回答 3

0

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

首先将其复制到“外部”存储,然后将其附加到电子邮件中。那应该工作得很好。

于 2013-06-20T15:36:17.450 回答
0

你不输入文件类型......也许是因为这个。

save_Image=new File(.........................."todofile.jpg")
于 2013-04-16T09:18:54.983 回答
0

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

尝试将文件从 SD 卡附加到电子邮件

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

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

于 2013-04-16T09:20:33.153 回答