0

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

我正在附加它,但无法在接收器端获取该附件。我不确切知道该文件必须使用哪种 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 :"));
4

2 回答 2

1

以下链接对我有帮助在电子邮件中附加文件.. 关键部分是

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
于 2012-12-04T12:25:47.263 回答
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是音频文件的路径。

于 2012-12-04T12:51:29.067 回答