Here is my code to update contact and set the custom ring tune it is running successfully but it is not working and I'm using API 9
sound = new File(folder,SONG);
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, sound.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "1-800-hotlinebling");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
values.put(MediaStore.Audio.Media.ARTIST, "Umair Ali");
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, true);
values.put(ContactsContract.Data.RAW_CONTACT_ID, contactID);
values.putNull(ContactsContract.Data.CUSTOM_RINGTONE);
Uri localUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, contactID);
getContentResolver().update(localUri, values, null, null);