我使用以下代码使用电子邮件Intent发送附件。 Gmail在发送电子邮件时崩溃了Android 4.4.2。本机电子邮件客户端使用PDF附件完美地发送电子邮件,并且不会崩溃。这里有什么不对吗?
File rootPath = new File(Environment.getExternalStorageDirectory(), "MyApp");
if(!rootPath.exists()) {
rootPath.mkdirs();
}
File f = new File(rootPath, "Report.pdf");
FileOutputStream fos = new FileOutputStream(f);
document.writeTo(fos);
document.close();
fos.close();
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
Uri uri = Uri.parse("file://" + rootPath + "/"+ "Report.pdf");
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Report");
emailIntent.putExtra(
Intent.EXTRA_TEXT,
Html.fromHtml("Report"));
emailIntent.setType("application/pdf");
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(emailIntent, "Send email using: "));
以下是gmail客户端的堆栈跟踪。