着信音または通知音として使用するために、アプリからサウンドを保存しています。このページから取得したコードの一部を次に示します。
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);
私の理解では、フラグはすべて「true」に設定されているため、着信音、通知音、アラームだけでなく、サウンドも保存されます。少なくともエミュレーターではこれは機能しますが、実際のデバイスでは、サウンドは着信音リストにしか表示されず、その理由はわかりません。
編集:さらに調査を試みました:「IS_RINGTONE」の行を削除しても何も変わりません(一度に使用できるフラグが1つだけの場合)、音は通知とともにリストに表示されません-音がします。
どんな助けでも大歓迎です。
よろしく、 Select0r