【问题标题】:How to show current Ringtone title for Alarm, Notification, VoiceCall,如何显示警报、通知、语音呼叫的当前铃声标题,
【发布时间】:2011-10-05 20:41:07
【问题描述】:

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

【问题讨论】:

    标签: android get show ringtone


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      尝试将 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 更改为您需要的任何声音类型。

      【讨论】:

      • 另请注意,您必须处理静音铃声的特殊情况(ringtoneUri 将为空)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多