使用android将xml文件作为附件发送

使用android将xml文件作为附件发送,android,xml,email,Android,Xml,Email,我试图让我的android应用程序发送一封带有xml文件作为附件的电子邮件。除了我收到的xml文件是空的这一事实之外,一切都很正常。我检查了一下以确保我手机上的文件不是空的 以下是我用来发送邮件的代码: Intent mailIntent = new Intent(Intent.ACTION_SEND); mailIntent.setType("text/Message"); mailIntent.putExtra(Intent.EXTRA_EMAIL, new

我试图让我的android应用程序发送一封带有xml文件作为附件的电子邮件。除了我收到的xml文件是空的这一事实之外,一切都很正常。我检查了一下以确保我手机上的文件不是空的

以下是我用来发送邮件的代码:

Intent mailIntent = new Intent(Intent.ACTION_SEND);
        mailIntent.setType("text/Message");
        mailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {"someone@somewhere.com"});
        mailIntent.putExtra(Intent.EXTRA_SUBJECT, "MySubject");
        mailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file///sdcard/rapport.xml"));
        startActivity(Intent.createChooser(mailIntent, "Send it out!"));

提前通知

我想可能是你的文件协议声明。您可以尝试Uri.fromFile,也可以只使用“file://”(您的文件似乎缺少冒号,除非这只是输入错误)

)

另外,我的和你的很接近,但我过去就是这样做的(而且似乎有效):


Thnx Charlie,丢失的冒号不仅仅是这里的输入错误:,(我保证在将来发布问题之前要更仔细地阅读我的代码。尽管如此,你还是救了我一天!
File f = new File("path_to_file");
   if (f.exists() && f.canRead()) {
      Intent sendIntent = new Intent(Intent.ACTION_SEND);
      sendIntent.setType("text/plain");
      sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" +
         f.getAbsolutePath()));
      sendIntent.putExtra(Intent.EXTRA_SUBJECT, "SUBJECT");
      sendIntent.putExtra(Intent.EXTRA_TEXT, "BODY");
      startActivity(Intent.createChooser(sendIntent, "Email:"));
   } else {
     Toast.makeText(Main.this, getString(R.string.fileNotExistBlah),
        Toast.LENGTH_LONG).show();
   }