как сделать кнопку, которая разделяет мой res/raw/xxx.mp3 файл
Мое приложение использует MP3-файлы с MediaPlayer, я хочу сделать кнопку, чем поделюсь 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);
Но это не работает.почему не работает?как я могу решить эту проблему?
1 ответ:
Вам нужно использовать окружение, а не путь жесткого кода, например, если ваш файл находится в корневом каталоге 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);
Или идентификатор ресурса
Uri.parse("android.resource://com.my.package/" + R.raw.bell.mp3);
Любая ошибка, пожалуйста, поделитесь logcat