У меня такая же проблема. Попытался перейти по значению SharedPreferences, но, к сожалению, URI приводит к идентификатору, подобному именованному файлу.
private void updateSummary(Preference p, SharedPreferences sharedPrefs) {
if (p instanceof ListPreference) {
ListPreference listPref = (ListPreference) p;
p.setSummary(listPref.getEntry());
} else if (p instanceof RingtonePreference) {
/*
* This is kind of a longshot, since we are not able to get the entry directly and
* so we have to go the route via the shared preferences.
*/
RingtonePreference ringPref = (RingtonePreference) p;
String ringtoneKey = ringPref.getKey();
String ringtonePath = sharedPrefs.getString(ringtoneKey, "");
ringPref.setSummary(ringtonePath);
}
}
Путь примерно такой: контент: // медиа / внутренний / аудио / медиа / 25
Так что это не подходящее решение. Но я заметил, что, например, приложение GoogleTalk также не показывает выбранный звук уведомления.
GoogleMail, с другой стороны, показывает это.