我正在尝试发送带有声音文件和图像文件附件的电子邮件。我可以附加这两个文件,但是当我尝试发送它时,我收到弹出消息“不幸的是 Gmail 已停止。”
代码在这里:-
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
intent.setType("Audio/mp3");
intent.setType("image/png");
intent.putExtra(Intent.EXTRA_SUBJECT, "Attachment from app");
intent.putExtra(Intent.EXTRA_TEXT, "Sending mp3 file ");
intent.putExtra(Intent.EXTRA_EMAIL,
new String[] { "xxx@gmail.com" });
ArrayList<Uri> uris = new ArrayList<Uri>();
uris.add(Uri.fromFile(new File(mFileName.getAbsolutePath())));
uris.add(Uri.parse(picturePath.toString()));
//intent .putExtra(Intent.EXTRA_STREAM, Uri.parse(picturePath.toString()));
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
// startActivity(Intent.createChooser(intent, "Send mail"));
startActivityForResult(Intent.createChooser(intent, "Send mail"),
EMAIL_REQUEST);
最佳答案
经过 google 和 RND 我解决了这个问题。遵循此代码。
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
intent.setType("Audio/mp3");
intent.setType("image/jpg");
intent.putExtra(Intent.EXTRA_SUBJECT, "Attachment from app");
intent.putExtra(Intent.EXTRA_TEXT, "Sending mp3 file ");
intent.putExtra(Intent.EXTRA_EMAIL,
new String[] { "xxx@gmail.com" });
ArrayList<Uri> uris = new ArrayList<Uri>();
String[] filePaths = new String[]{mFileName.getAbsolutePath(),picturePath.toString()};
for (String file : filePaths) {
File fileIn = new File(file);
Uri u = Uri.fromFile(fileIn);
uris.add(u);
}
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
startActivityForResult(Intent.createChooser(intent, "Send mail"),
EMAIL_REQUEST );
startActivityForResult(Intent.createChooser(intent, "Send mail"),
RESULT_LOAD_IMAGE );
关于android - 如何发送带有电子邮件附件的音频和图像文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21186557/