Android 将sd卡歌曲设置为输入信息音调

Android 将sd卡歌曲设置为输入信息音调,android,sms,android-contacts,Android,Sms,Android Contacts,我在我的应用程序中遇到了一个关于更改留言音的问题。我需要更改手机中特定联系人的留言音(与我们为不同联系人设置不同铃声的方法相同)。所以基本上首先我需要知道这是可能的还是不可能的,如果是的话,然后给出一些提示。提前谢谢。下面是不适用于我的代码 File k = new File(path, "mysong.mp3"); // path is a file to /sdcard/media/ringtone ContentValues values = new ContentValues(); v

我在我的应用程序中遇到了一个关于更改留言音的问题。我需要更改手机中特定联系人的留言音(与我们为不同联系人设置不同铃声的方法相同)。所以基本上首先我需要知道这是可能的还是不可能的,如果是的话,然后给出一些提示。提前谢谢。下面是不适用于我的代码

File k = new File(path, "mysong.mp3"); // path is a file to /sdcard/media/ringtone

ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "My Song title");
values.put(MediaStore.MediaColumns.SIZE, 215454);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, "Madonna");
values.put(MediaStore.Audio.Media.DURATION, 230);
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);

//Insert it into the database
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
Uri newUri = main.getContentResolver().insert(uri, values);

RingtoneManager.setActualDefaultRingtoneUri(
myActivity,
RingtoneManager.TYPE_RINGTONE,
newUri
);