Прямой путь к папке 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;

Другие вопросы по тегам