我使用以下代码显示选择本机铃声/短信提示音的对话框:
private void showTonePicker(int toneType, String pickerTitle) {
[...]
意图 intent = new 意图(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, toneType);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, pickerTitle);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, userTone.equals(TFSettings.SILENT_TONE_ID) ? null : Uri.parse(userTone));
startActivityForResult(intent, (toneType == RingtoneManager.TYPE_RINGTONE ? 1 : 2));
}
我如下方式调用以上方法:
- 选择文本音调:showTonePicker(RingtoneManager.TYPE_NOTIFICATION, getString(R.string.texting_tone));
- 选择铃声:showTonePicker(RingtoneManager.TYPE_RINGTONE, getString(R.string.ringing_tone));
我需要解决两个问题:
必须显示小写按钮。
在选择铃声和选择文本音调时,原生对话框都会显示“默认铃声”。如果选择文本音调(此时toneType = RingtoneManager.TYPE_NOTIFICATION),则必须显示“默认文本音调”。
有办法解决这些问题吗?我们能否自定义原生音调选择器?
提前感谢您的回答!
敬礼。