如何在运行时获取铃声首选项?

mix*_*kat 5 android preferences ringtone android-preferences

我有以下xml:

 <?xml version="1.0" encoding="utf-8"?>
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Ringtone preference" android:key="ringtone_option_preference">
    <RingtonePreference 
    android:key="ring_tone_pref"
    android:title="Set Ringtone Preference"
    android:showSilent="true"
    android:ringtoneType="notification"
    android:summary="Set Ringtone"/>
 </PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

我希望每次通知即将显示时,要查看铃声的值并相应地发出蜂鸣声:)...更准确地说,我的通知是在broadcastReceiver类中生成的,每次接收器捕获的内容都会创建一个新通知...我只想根据首选项中设置的铃声更改通知的铃声.

我怎样才能做到这一点?

谢谢

麦克风

mix*_*kat 24

没关系我找到了:

 SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(context);
 String strRingtonePreference = preference.getString("ring_tone_pref", "DEFAULT_SOUND");        
 notification.sound = Uri.parse(strRingtonePreference);
Run Code Online (Sandbox Code Playgroud)