如何显示当前铃声标题为闹钟,通知,语音呼叫,



我使用这段代码,我在这里找到了或多或少,但它总是返回相同的答案:

默认铃声为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

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

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

尝试将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更改为所需的声音类型