最近做一个播放提示音功能,查了一下联系人中选择铃声的原理,简单的改造了一下,用来实现选择提示音功能,记录一下,代码如下:
private void getNotificationTone() {
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "这里填写上你想显示的标题");
Uri ringtoneUri;
if (notificationPath != null) { //这个是你之前选择好的标题,在选择铃声的时候会把它默认选上
ringtoneUri = Uri.parse(notificationPath);
} else { // mCustomRingtone如果为空,择默认的铃声会被选中
ringtoneUri = RingtoneManager
.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); //选择audio的类型,一般有铃声 通知音 闹铃音
}
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtoneUri);
startActivityForResult(intent, REQUEST_CODE_PICK_RINGTONE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK) {
return;
}
switch (requestCode) {
case REQUEST_CODE_PICK_RINGTONE:
Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
break;
default:
break;
}
}
后面我们就可以根据情况将提示音存放到数据库或者是播放提示音了