我无法以编程方式更改短信铃声,我可以正常更改手机铃声,但不能更改短信。为什么?有谁知道我要做什么?
我的应用程序有2个按钮,一个用于更改铃声,另一个用于更改短信铃声,但即使我点击更改短信铃声,更改的是铃声...... :(
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, somFile.getAbsolutePath());
values.put(MediaStore.Audio.Media.ARTIST, "cssounds ");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
values.put(MediaStore.Audio.Media.IS_ALARM, false);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
if (isToque) {
values.put(MediaStore.MediaColumns.TITLE, "shbRingtone");
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
} else {
values.put(MediaStore.MediaColumns.TITLE, "shbSMS");
values.put(MediaStore.Audio.Media.IS_RINGTONE, false);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
}
Uri uri = MediaStore.Audio.Media.getContentUriForPath(somFile.getAbsolutePath());
//do a delete here before inserting
Uri newUri = getApplicationContext().getContentResolver().insert(uri, values);
if (isToque) {
RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(),
RingtoneManager.TYPE_RINGTONE, newUri);
} else {
RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(),
RingtoneManager.TYPE_NOTIFICATION, newUri);
}
明细 - isToque
是我在点击铃声按钮时设为true
的变量,在短信按钮为时为假。