如何制作共享我的 res/raw/xxx.mp3 文件的按钮

how to make a button that share my res/raw/xxx.mp3 file

我的应用程序使用 MediaPlayer 的 MP3 文件,我想制作一个按钮,然后将 MP3 文件共享到 whatsapp。

我的代码是这样的:

    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    String audioClipFileName="bell.mp3";
    sendIntent.setType("audio/mp3");
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+"/sdcard/"+audioClipFileName));
    startActivity(sendIntent);

但它不是 working.why 不工作?我该如何解决这个问题?

您需要使用环境而不是硬编码路径,例如,如果您的文件位于 sdcard 根目录中,请使用如下代码:

File root = Environment.getExternalStorageDirectory().getPath();
String fname = "bell.mp3";
file = new File(root, fname);

Intent shareCaptionIntent = new Intent(Intent.ACTION_SEND);
shareCaptionIntent.setType("audio/mp3");
shareCaptionIntent.putExtra(Intent.EXTRA_TEXT, "YOURTEXT");
shareCaptionIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + file.toString()));
startActivity(Intent.createChooser(shareCaptionIntent, "Share in:"));

如果资源使用这个:

Uri.parse("android.resource://com.my.package/raw/" + fname);

或资源ID

Uri.parse("android.resource://com.my.package/" + R.raw.bell.mp3);

如有错误请分享logcat