Android ACTION_RINGTONE_PICKER не показывает пользовательский рингтон
Поэтому я искал вокруг Google и SO, и я не могу найти ответ. Сначала я просто пытался показать звуки своих приложений из необработанной папки в моем приложении, когда я позволил пользователю изменять свои звуки в моем приложении, решил, что требуется пользовательское меню и слишком много работы для двух звуков.
Итак, я начал копировать их на само устройство, проблема в том, что они все еще не отображаются на ACTION_RINGTONE_PICKER
Я могу видеть их на устройстве вручную, хотя (если я перейти к этой папке). Есть ли другой путь, в котором я должен их хранить? Я также попытался перезагрузить устройство после копирования.
Вот как я копирую файлы:
File rootDirectory = Environment.getExternalStorageDirectory();
File folder = new File(rootDirectory + File.separator +"My" + File.separator + "ringtone");
fileOutputStream = new FileOutputStream(
new File(folder, "Custom_Sound.mp3"));
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
fileOutputStream.write(buffer, 0, length);
}
inputStream.close();
fileOutputStream.close();
Вот как я получаю список рингтонов:
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_ALL);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Notification Sound");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
this.startActivityForResult(intent, requestCode);
У меня есть следующее в манифесте, и я проверяю разрешения во время выполнения:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>