Android: сохранять звук как мелодию звонка и уведомление

Я сохраняю звук из моего приложения для использования в качестве рингтон или звук уведомления.Вот часть моего кода, взятого с этой страницы:

ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, soundName);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/ogg");
values.put(MediaStore.Audio.Media.ARTIST, "artist");
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);

Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
this.getContentResolver().insert(uri, values);

Насколько я понимаю, звук будет сохранен, а также мелодия звонка, звук уведомления и будильника, поскольку все флаги установлены на " правда". По крайней мере, на эмуляторе это работает, но на реальном устройстве звук отображается только в списке мелодий звонка, и я понятия не имею, почему.

РЕДАКТИРОВАТЬ: Я попытался продолжить расследование: удаление строки с "IS_RINGTONE" ничего не изменит (если одновременно можно использовать только один флаг), звук не отображается в списке с звуки уведомления.

Любая помощь приветствуется.

С уважением, Select0r

5
задан Select0r 28 October 2010 в 15:45
поделиться