我想将音频文件附加到电子邮件中。
我正在附上它,但无法在接收方那边获得附件。我不确切知道我必须为这个文件使用哪种mimetype。
我已经尝试setType("*/*")
了。但它仍然不适合我。它是否可能,如果是的话,那我该怎么办?
我已经在SO和Google上找到了很多,但仍然没有得到正确的解决方案。
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[] {});
email.setType("image/jpeg");
email.setType("audio/mpeg3");
email.putExtra(Intent.EXTRA_SUBJECT, TAG);
email.putExtra(Intent.EXTRA_TEXT, getResources().getText(R.string.Message));
Uri uri = Uri.parse("file:///android_asset/Male_Hard_2.mp3");
email.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(email, "Choose an Email client :"));
答案 0 :(得分:0)
以下链接对我有用Attaching file in email ..关键部分是
ArrayList<Uri> uris = new ArrayList<Uri>();
for (String file : filePaths)
{
File fileIn = new File(file);
Uri u = Uri.fromFile(fileIn);
uris.add(u);
}
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); // intent is your email intent
答案 1 :(得分:0)
你必须使用:
startActivity(Intent.createChooser(new Intent(Intent.ACTION_SEND_MULTIPLE)
.setType("audio/wav").setType("image/jpeg")
.setType("message/rfc822")
.putExtra(Intent.EXTRA_EMAIL, emails)
.putExtra(Intent.EXTRA_SUBJECT, subject)
.putExtra(Intent.EXTRA_TEXT, strDetails)
.putExtra( android.content.Intent.EXTRA_STREAM, uris)
.putExtra( android.content.Intent.EXTRA_STREAM, strAudioFilePath), "Send your email in:"));
在上面的代码中, strAudioFilePath 是音频文件的路径。