【发布时间】:2011-06-03 23:41:47
【问题描述】:
我在sdcard/media/audio/ringtones 文件夹中保存了文件。该文件将出现在来自settings/sound/phone Ringtone 的铃声选择列表中。
但我想将该文件设置为我的代码中的铃声。 这是我的代码。
File k = new File(path, filename);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "TwiAppclip");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
values.put(MediaStore.Audio.Media.ARTIST, "cssounds ");
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(k
.getAbsolutePath());
Uri newUri = getApplicationContext().getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(),
RingtoneManager.TYPE_RINGTONE, newUri);
这里uri 我得到了但我得到了newUri = null。我认为这就是它没有设置为铃声的原因。
有人知道问题出在哪里吗?如何正确获取newUri?
【问题讨论】:
-
如果我将铃声放在原始文件夹中,我应该指定什么作为 PATH? :)