android 设置铃声

我要把sd卡中制定的音乐设置为来电铃声。怎么写代码啊?我写的都错的。
public void setMyRingtone() {
File k = new File("/sdcard/aac.mp3");
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "lazy");
values.put(MediaStore.MediaColumns.SIZE, 8474325);
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);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k
.getAbsolutePath());
Uri newUri = this.getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(this,
RingtoneManager.TYPE_RINGTONE, newUri);
}

设置Android铃声代码例子
Android Ringtone 自定义铃声介绍 收藏
1. 首先是支持的格式比较丰富,有以下几种:
64和絃Midi,AAC、AAC+、AMR、WAV、MP3、Real Audio、WMA、OGG等格式.
2. 如何把sdcard里面的声音文件作为铃声:
在sdcard的根目录下面建立文件夹:
media\audio\ringtone(在audio文件夹下面一般有三个子文件夹:ringtones, alarms和notifications), 然后将铃声拷贝到该文件夹 下面即可.
view sourceprint?01.

public void setMyRingtone(File file)

{

ContentValues values = new ContentValues();

values.put(MediaStore.MediaColumns.DATA, file.getAbsolutePath());

// values.put(MediaStore.MediaColumns.TITLE, file.getName());

// values.put(MediaStore.MediaColumns.SIZE, file.length());

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);

Uri uri = MediaStore.Audio.Media.getContentUriForPath(file.getAbsolutePath());

Uri newUri = this.getContentResolver().insert(uri, values);

RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, newUri);
}

[url]http://aina-hk55hk.iteye.com/blog/709091[/url]希望能给你帮助!例子很详细!