2011-02-12 31 views
5

tôi có xml sau:Cách nhận tùy chọn nhạc chuông khi chạy?

<?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> 

Và tôi muốn mỗi khi một thông báo là về để hiển thị, để xem xét giá trị của nhạc chuông và tiếng bíp cho phù hợp:) ... Để được chính xác hơn thông báo của tôi là được tạo ra trong lớp BroadcastReceiver và mỗi lần người nhận bắt thứ gì đó tạo thông báo mới ... Tôi chỉ muốn nhạc chuông của thông báo thay đổi dựa trên nhạc chuông được đặt trong sở thích ..

Làm cách nào để làm điều đó?

Cảm ơn

Mike

Trả lời

24

Nevermind tôi tìm thấy nó:

SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(context); 
String strRingtonePreference = preference.getString("ring_tone_pref", "DEFAULT_SOUND");   
notification.sound = Uri.parse(strRingtonePreference); 
+0

bạn đã sử dụng OnPrefrenceChangeListener() trong PreferenceFragment? –

+0

@mixkat. làm thế nào tôi có thể đặt tên nhạc chuông như là một summery của RingTonePreference? –

3
<RingtonePreference 
      android:defaultValue="true" 
      android:key="ringtone_sound" 
      android:ringtoneType="notification" 
      android:showSilent="true" 
      android:showDefault="true" 
      android:title="Sound" 
      android:enabled="true" /> 

Rồi Sau

String PREFERENCE_SOUND = "ringtone_sound"; 

private SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); 

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 

String strRingtonePreference = sharedPreferences.getString(PREFERENCE_SOUND, "DEFAULT_SOUND"); 
Uri defaultSoundUri = Uri.parse(strRingtonePreference); 
notificationBuilder.setSound(defaultSoundUri); 
+0

Tôi làm cách nào để đặt tên nhạc chuông làm tổng kết của RingTonePreference? –

+0

được mô tả chính xác nhờ –

Các vấn đề liên quan