0

我一直在阅读,所以(令人惊讶的是)不可能将文件作为邮件附件发送到内部存储中(即使在 MODE_WORLD_READABLE 中)。

因此,我使用(脏)代码在发送邮件之前将文件复制到外部存储。

问题是,当我收到邮件时,附件不存在(虽然发送时显示为附件)!

然而,当我使用 Root Explorer 通过邮件手动发送文件时,一切正常......

这是我的代码:

File sdDir = Environment.getExternalStorageDirectory();
File dir = getDir("MyApp", MODE_WORLD_READABLE);
copyFile(new File(dir.getAbsolutePath()+File.separator+Ref+"-"+Name+".html"), new File(sdDir+File.separator+Ref+"-"+Name+".html"));
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailtext);
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(sdDir+File.separator+ReservationReference+"-"+LastName+".html")); //"file://"+dir.getAbsolutePath()+File.separator+ReservationReference+"-"+LastName+".html"));
this.startActivity(Intent.createChooser(emailIntent, "Send by mail"));

提前谢谢你。

4

0 回答 0