2011-10-05 2 views
0

나는이 코드를 사용합니다.이 코드는 더 많거나 적습니다. 그러나이 응답은 항상 같은 대답을 반환합니다 : "기본 벨소리는 반짝입니다".알람, 알림, VoiceCall에 대한 현재 벨소리 제목을 표시하는 방법

내가 설정하고있는 무슨 소리 사용자를 보여 드리고자합니다

:

:

이 코드를 사용하려고 알람, 시스템 알림, voicecall, 일정 알림, SMS 알림 (나는 몇 가지를 잊었나요?)

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); 

또는 intead DEFAULT_RINGTONE_URI이 DEFAULT_ALARM_ALERT_URI, DEFAULT_NOTIFICATION_URI

답변

1

RingtoneManager.getDefaultUri (RingtoneManager.TYPE_NOTIFICATION)에 prefsRingtones의 기본 값을 설정하십시오 대신 "DEFA를 사용 ULT_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); 

원하는 소리 유형으로 변경하십시오.

+0

처리해야 할 사일런트 벨소리의 특수한 경우가 있습니다 (벨소리는 비어 있음) – dymmeh

2

감사합니다. 다른 모든 작업 코드는 다음과 같습니다.

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