我试图让我的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提前!
答案 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();
}