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

时间:2010-11-08 12:36:18

标签: android xml email

我试图让我的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!"));

Thnx提前!

1 个答案:

答案 0 :(得分:4)

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

http://developer.android.com/reference/android/net/Uri.html#fromFile(java.io.File

此外,我的很接近你,但这就是我过去做过的事情(似乎有效):

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();
   }