从RingtonePreference获取铃声标题

Ale*_*and 16 android id3 preferenceactivity ringtone

我有一个RingtonePreference,用于选择一个铃声,该铃声被广播到Alarm应用程序中使用的接收器.
我想在RingtonePrefernce的摘要中显示所选铃声的标题(在您选择铃声时看到的列表中显示的标题).不知何故获得ID3标签?有些铃声是mp3而不是全部,所以这可能不是一个好主意?

我现在做的是:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
strRingtonePreference = prefs.getString("RingtonePref", "DEFAULT_RINGTONE_URI");
Run Code Online (Sandbox Code Playgroud)

这将使strRingtonePreference看起来像"content:// media/internal/audio/media/55",这对用户来说不是很有用.

我怎样才能做到这一点?

Dan*_*yer 69

Uri ringtoneUri = Uri.parse(strRingtonePreference);
Ringtone ringtone = RingtoneManager.getRingtone(context, ringtoneUri);
String name = ringtone.getTitle(context);
Run Code Online (Sandbox Code Playgroud)

  • 我得到了铃声的“id”,而不是“name” (2认同)