Прямой путь к папке Raw, чтобы установить в качестве мелодии звонка Android
case 64:
String path=android.os.Environment.getExternalStorageDirectory().getPath() + "/data/babysounds/res/raw/laugh.mp3";
File ringtoneFile = new File(path);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, ringtoneFile .getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "laugh");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, "The");
values.put(MediaStore.MediaColumns.SIZE, 215454);
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
values.put(MediaStore.Audio.Media.IS_ALARM, false);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtoneFile
.getAbsolutePath());
getContentResolver().delete(
uri,
MediaStore.MediaColumns.DATA + "=\""
+ ringtoneFile .getAbsolutePath() + "\"", null);
Uri newUri = getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(
Context.this, RingtoneManager.TYPE_RINGTONE,
newUri);
break;
Я получил этот код в качестве мелодии звонка, но он не работает. Что происходит: когда я нажимаю на кнопку listView, файл создается, но не устанавливается в качестве мелодии звонка. Что я хочу: я хочу получить прямой путь к моей необработанной папке и выбрать файлы. Как я могу это сделать? И да, я добавил разрешения
1 ответ
URI или LINK для любого ресурса в необработанной папке:
String uri = "android.resource: //" + getPackageName () + "/"+R.raw.filename;