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

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

2 Solutions collect form web for “Android意图用附件发送电子邮件”

尝试:

 Uri.fromFile(file); 

代替:

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

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

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

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

 Uri uri = Uri.parse("file://" + file.getAbsolutePath()); 
  • Android意图filter的特定文件扩展名?
  • 具有多个filter或多个BroadcastReceivers的BroadcastReceiver?
  • getIntra从一个pendingIntent启动的Intent
  • 通过WhatsApp发送消息
  • 检查是否设置了额外function
  • Android在视图之间绘制一条水平线
  • 启动短信应用程序的意图
  • Intent.EXTRA_EMAIL没有填充To字段
  • Android - 从一个广播接收器onReceive()发送到上下文
  • 完成另一项活动的活动
  • 如何使用Intents从一个Android活动发送对象到另一个?