0

我使用这个代码,我在这里或多或少地找到它,但这个返回总是相同的答案:“默认铃声是 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

4

2 回答 2

2

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

Uri ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone ringtone = RingtoneManager.getRingtone(this, ringtoneUri);
String ringToneName = ringtone.getTitle(this);
于 2011-10-06T05:26:25.500 回答
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 更改为您需要的任何声音类型。

于 2011-10-05T21:08:10.400 回答