如何显示警报,通知,语音呼叫的当前铃声标题,

时间:2011-10-05 20:41:07

标签: android get show ringtone

我使用这个代码,我在这里或多或少找到了,但这回复总是相同的答案: “默认铃声是Gleam”,但不是。

我想向用户展示设置的声音: 报警,系统通知,语音呼叫,日历通知,短信通知(我忘记了吗?)

我尝试使用此代码:

SharedPreferences prefsRingtones =  PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Uri ringtoneUri = Uri.parse(prefsRingtones.getString("RingtonePref","DEFAULT_RINGTONE_URI"));
Ringtone ringtone = RingtoneManager.getRingtone(this, ringtoneUri);
String ringToneName = ringtone.getTitle(this);

或者在DEFAULT_RINGTONE_URI中使用DEFAULT_ALARM_ALERT_URI,DEFAULT_NOTIFICATION_URI

2 个答案:

答案 0 :(得分:2)

谢谢,它正在发挥作用。对于所有其他这是工作代码:

Uri ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone ringtone = RingtoneManager.getRingtone(this, ringtoneUri);
String ringToneName = ringtone.getTitle(this);

答案 1 :(得分:1)

尝试将prefsRingtones的默认值设置为RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)而不是“DEFAULT_RINGTONE”。

SharedPreferences prefsRingtones =  PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Uri ringtoneUri = Uri.parse(prefsRingtones.getString("RingtonePref",RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)));
Ringtone ringtone = RingtoneManager.getRingtone(this, ringtoneUri);
String ringToneName = ringtone.getTitle(this);

将TYPE_NOTIFICATION更改为您需要的声音类型。