2012-07-25 23 views
10

मैं आवेदन लिख रहा हूं जो मानक/स्टॉक मैसेंजर को प्रतिस्थापित करने का इरादा रखता है। इसलिए मुझे आने वाले संदेशों के लिए डिफ़ॉल्ट रिंगटोन परिभाषित करने की आवश्यकता है। मेरा मतलब आने वाली एसएमएस अधिसूचना रिंगटोन है।इनकमिंग एसएमएस के लिए यूआरआई वर्तमान/डिफ़ॉल्ट रिंगटोन कैसे प्राप्त करें?

कोई भी जानता है कि इसे कैसे प्राप्त किया जाए?

String defaultPath = Settings.System.DEFAULT_NOTIFICATION_URI.getPath(); 
+0

ये लिंक आपकी मदद कर सकते हैं http://stackoverflow.com/questions/3387556/incoming-call- गतिशील-override-default-ringtone http://stackoverflow.com/questions/2092470/android-detect-which-ringtone -इस-असल में-बजाना-रिंगटोन-isplaying-problem? rq = 1 –

उत्तर

10
डिफ़ॉल्ट सूचना ध्वनि के लिए

Ringtone ringtone = RingtoneManager.getRingtone(context, Settings.System.DEFAULT_RINGTONE_URI); 

उपयोगकर्ता में उपलब्ध कराई गई एक रिंगटोन के लिए डिफ़ॉल्ट रिंगटोन बदल गया है एक तृतीय पक्ष मैसजर ऐप, AFAIK आप नई रिंगटोन तक नहीं पहुंच सकते हैं जब तक कि तृतीय पक्ष ऐप ContentProvider के माध्यम से अपने रिंगटोन का खुलासा न करे।

+1

marshmallow –

+0

के साथ काम नहीं कर रहा है, यहां मार्शमलो के आगे काम नहीं करता – sud007

11

डिफ़ॉल्ट रिंगटोन के Ringtone वस्तु पुनः प्राप्त करने के लिए, का उपयोग RingtoneManager:

2

यदि आप Notification.Builder या NotificationCompact.Builder कक्षाओं का उपयोग कर रहे हैं, तो बिल्डर पर setSound(Settings.System.DEFAULT_NOTIFICATION_URI) पर कॉल करना चाल चलाना चाहिए।

वह डिफ़ॉल्ट अधिसूचना टोन चलाएगा जो उपयोगकर्ता ने आपकी अधिसूचना प्रदर्शित करते समय उठाया है।

1

जिसने मेरी मदद की वह RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION) है।

+0

marshmallow के साथ काम नहीं कर रहा है –

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