如何在Android中使用Intent将音频文件附加到电子邮件?

时间:2012-12-04 12:21:06

标签: android android-intent

我想将音频文件附加到电子邮件中。

我正在附上它,但无法在接收方那边获得附件。我不确切知道我必须为这个文件使用哪种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 :"));

2 个答案:

答案 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 是音频文件的路径。