我试过下面的代码。但是我无法从铃声首选项中读取铃声。
<RingtonePreference
android:title="@string/RING_TONE_SETTING"
android:summary="@string/RING_TONE_SETTING_DESCRIPTION"
android:ringtoneType="notification"
android:showSilent="true"
android:showDefault="true"
android:key="prefnotificationTone"/>
这就是我的阅读方式,
SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(this);
String strRingtonePreference = preference.getString("prefnotificationTone", "DEFAULT_SOUND");
Uri notification = Uri.parse(strRingtonePreference);
mMPlayer = MediaPlayer.create(getApplicationContext(), notification);
mMPlayer.start();
我总是得到DEFAULT_SOUND。
答案 0 :(得分:0)
将以下属性添加到XML中的首选项:
android:persistent="true"
答案 1 :(得分:0)
SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(context);
String strRingtonePreference = preference.getString("ring_tone_pref", "DEFAULT_SOUND");
你刚刚获得了上面的铃声。你必须将其解析为url,然后从系统中获取相应的铃声。
defaultRingtoneUri = Uri.parse(strRingtonePreference);
defaultRingtone = RingtoneManager.getRingtone(this, defaultRingtoneUri);
希望这有帮助。