Android意图用附件发送电子邮件

可能重复:
从内部存储电子邮件

电子邮件正在收件人收到,但没有附件。 这里是代码,任何专家知道我哪里错了?

Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"email@example.com"}); intent.putExtra(Intent.EXTRA_SUBJECT, "subject here"); intent.putExtra(Intent.EXTRA_TEXT, "body text"); File root = Environment.getExternalStorageDirectory(); File file = new File(root, xmlFilename); if (!file.exists() || !file.canRead()) { Toast.makeText(this, "Attachment Error", Toast.LENGTH_SHORT).show(); finish(); return; } Uri uri = Uri.parse("file://" + file); intent.putExtra(Intent.EXTRA_STREAM, uri); startActivity(Intent.createChooser(intent, "Send email...")); 

我没有得到任何敬酒信息。 谢谢。

尝试:

 Uri.fromFile(file); 

代替:

 Uri.parse("file://" + file); 

此外,为您的MIMEtypes尝试text/xml ,假设这是一个XML文件,因为您的variables名称暗示。

该文件可能不是世界可读的。

编辑:确实。 尝试这样做:

 Uri uri = Uri.parse("file://" + file.getAbsolutePath());