开发者

Send an xml file as attachment with android

im trying to make my android application send an email with an xml file as attachement. All is working fine except for the fact that the xml file I receive is empty. I checked to make sure the file isn't empty on my phone...

Here is the code I use to send the mail:

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 in开发者_开发知识库 advance!


I think it might be your file protocol declaration there. You could either try Uri.fromFile, or maybe just use "file:///" (yours appears to be missing the colon, unless that's just a typo here).

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

Also, mine is close to yours, but this is how I have done it in the past (and it seems to work):

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜