2011-03-13 56 views
0

我知道这个问题已经在以前的几个变种中提出过,但是我的问题围绕着setType方法展开了更多讨论。将文件附加到Android中的电子邮件意图的问题

我想将一个XML文件附加到我以Intent开头的电子邮件。代码是:

File exportPath = (File) data.getExtras().getSerializable("Path"); 
Log.w(TAG, Uri.fromFile(exportPath).toString()); 
Intent email = new Intent(); 
email.setType("application/xml"); 
email.putExtra(Intent.EXTRA_EMAIL, new String[] {user_email}); 
email.putExtra(Intent.EXTRA_SUBJECT, "Test"); 
email.putExtra(Intent.EXTRA_TEXT, "Text"); 
email.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(exportPath)); 

startActivity(Intent.createChooser(email, "Mail job")); 

收件人,主题和文本正确进入,只有附件丢失。

结果: Log.w(TAG,Uri.fromFile(exportPath).toString()); 是file:///mnt/sdcard/SDS2Mobile/model2.xml

我想我的问题是我设置的类型不正确,但我无法找到正确的XML文件类型。有人有主意吗?

+0

我正试图给一个sqlite数据库文件发送电子邮件,并且遇到了最困难的时间。代码“Uri.fromFile(exportPath)”的一部分是我为它修复的。太感谢了! – Opy 2011-11-20 19:23:01

+0

你必须用发送命令创建你的意图,否则我无法让它工作。 'Intent email = new Intent(Intent.ACTION_SEND);' – AlexIIP 2012-09-21 01:13:16

回答

2

我找到了!在setType()中使用“text/Message”产生了正确的结果。