我想在电子邮件中将vcf文件作为附件发送。这适用于默认的Mail应用程序(在HTC One X上),但不适用于Gmail应用程序。
Gmail应用会弹出并显示要发送的邮件,包括vcf文件作为附件。但是当我按下发送时,应用程序崩溃并且不发送电子邮件。
如果不包含附件,则会正确发送电子邮件。 vcf文件由应用程序创建并存储在SD卡上。这是发送电子邮件的代码:
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"email@gmail.com"});
email.putExtra(Intent.EXTRA_SUBJECT, "title");
email.putExtra(Intent.EXTRA_TEXT, "content");
File rootDirectory = new File(Environment.getExternalStorageDirectory(), "exStorageDirectory");
Uri screenshotUri = Uri.parse(rootDirectory + "/vcardFile.vcf");
email.putExtra(Intent.EXTRA_STREAM, screenshotUri);
email.setType("text/vcard");
startActivity(email);
我已尝试使用各种setType输入,但它们似乎没有什么区别:email.setType("message/rfc822");
email.setType("image/jpeg");
email.setType("vnd.android.cursor.dir/email");
email.setType("application/x-vcard");
email.setType("text/html");
email.setType("text/plain");
screenshotUri
是因为没有它,Gmail应用程序在打开时会直接崩溃。默认的Mail应用程序在这里也没有问题。
有关如何使用Gmail应用程序的任何想法? 谢谢你的帮助!