import android.media.RingtoneManager;
import android.media.Ringtone;
import android.net.Uri;
boolean isValid=RingtoneManager.validRingtoneUri(mContext,ringtoneUri,RingtoneManager.TYPE_RINGTONE)!=-1;
//这个方法在RingtoneManager中被定义为私有的,它是用来判断Uri对象是不是合法的铃声Uri,结果如果是-1就表示为不合法
if(!isValid){
Uri ringtoneUri=Uri.parse("file://"+"/system/media/audio/ringtones/GiGaset.mp3");//直接解析得到一个Uri对象
}
Uri ringUri=RingtoneManager.getActualDefaultRingtoneUri(mContext,RingtoneManager.TYPE_RINGTONE);
//这个方法获取当前真正使用的默认铃声Uri
boolean isRingtoneValid=RingtoneManager.validRingtoneUri(mContext,ringUri,RingtoneManager.TYPE_RIGNTONE)!=-1;
Ringtone ringtone;
if(!isRingtoneValid){
ringtone.setUri(ringtoneUri);//给铃声设置相应的铃声Uri
}