0
我设置铃声,它工作正常,但“.MediaColumns.TITLE”和“.Media.ARTIST”不起作用。我已经设置了铃声,然后我检查。显示文件名称而不是“标题名称”。Android铃声管理器“标题”和“艺术家”信息
我的代码;
public boolean setRingtone(int p, String s) {
String path = Environment.getExternalStorageDirectory().getPath()
+ "/sdcard/media/audio/ringtones/";
String filename = s+'.mp3';
boolean exists = (new File(path)).exists();
if (!exists) {
new File(path).mkdirs();
}
File k = new File(path, filename);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "Title Name");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, "Ringtones");
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());
getContentResolver().delete(uri,MediaStore.MediaColumns.DATA + "=\"" + k.getAbsolutePath() + "\"", null);
Uri newUri = getContentResolver().insert(uri,values);
RingtoneManager.setActualDefaultRingtoneUri(SingleListItem.this,RingtoneManager.TYPE_RINGTONE,newUri);
String desc= "Ringtone has been set";
Toast.makeText(getApplicationContext(), desc, Toast.LENGTH_LONG).show();
return true;
}
我拥有这些权限
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
它显示在手机设置中。我检查了电话设置,它显示“文件名”(即字符串s)而不是“values.put(MediaStore.MediaColumns.TITLE,”标题名称“);” – 2014-09-25 11:08:40