如何制作共享我的 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
我的应用程序使用 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