2011-02-12 30 views
5

मैं निम्नलिखित 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> 

और मैं हर बार एक अधिसूचना के बारे में दिखाने के लिए, रिंगटोन के मूल्य पर गौर करें और उसके अनुसार बीप करने के लिए है चाहता हूँ:) ... और अधिक सटीक मेरी सूचना नहीं है होना करने के लिए ब्रॉडकास्ट रिसीवर क्लास में उत्पन्न होता है और प्रत्येक बार रिसीवर कुछ पकड़ता है, यह एक नई अधिसूचना बनाता है ... मैं सिर्फ वरीयताओं में रिंगटोन सेट के आधार पर अधिसूचना की रिंगटोन बदलना चाहता हूं ..

मैं यह कैसे कर सकता हूं?

धन्यवाद

माइक

उत्तर

24

कोई बात नहीं मुझे मिल गया:

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

आप PreferenceFragment में OnPrefrenceChangeListener() का इस्तेमाल किया था? –

+0

@mixkat। मैं 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" /> 

फिर

बाद
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

मैं रिंगटोन प्रेफरेंस के सारांश के रूप में रिंग टोन नाम कैसे सेट कर सकता हूं? –

+0

ठीक से वर्णन किया गया धन्यवाद –

संबंधित मुद्दे