用于发送带有附件的电子邮件的安卓意图

2022-08-31 13:43:49

可能的重复:
来自内部存储的电子邮件

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

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..."));

我没有收到任何祝酒消息。谢谢。


答案 1

该文件可能不是全局可读的。

编辑:确实如此。请尝试执行以下操作:

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

答案 2

推荐