【发布时间】:2011-08-30 00:05:13
【问题描述】:
收件人正在接收电子邮件,但没有附件。 这是代码,哪位高手知道我哪里出错了?
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..."));
我没有收到任何 toast 消息。 谢谢。
【问题讨论】:
-
我认为另一个问题是为什么不能从内部存储发送电子邮件。而在这一个中,当从外部存储发送时它不起作用。虽然相似,但它们并不相同。
-
@Alex Gitelman 实际上故障模式是相同的,并且在那里为他提供了一个适用于内部或外部存储的答案。
-
这一行不创建文件(java中众所周知) File file = new File(root, xmlFilename);您必须使用文件实例创建输出流编写器来创建文件,除非该文件已存在于文件系统中。
-
我发现这个帖子对我来说非常有用stackoverflow.com/questions/38200282/…
标签: java android android-intent attachment