2013-08-13 5 views
8

कोड के माध्यम से मैं इसे कैसे एक्सेस कर सकता हूं? इसलिए मैं इसे उपयोगकर्ताओं के लिए स्वचालित रूप से खोल सकता हूं और उन्हें सक्षम करने के लिए सुरक्षा सेटिंग्स के माध्यम से शिकार करने की आवश्यकता नहीं है।एंड्रॉइड 4.3 में नई अधिसूचना सेटिंग्स तक पहुंच कोड

मैं startActivity(new Intent(Settings.<>)); का उपयोग कर एंड्रॉइड स्टूडियो में इसे खोजने में असमर्थ हूं, जहां <> सेटिंग स्क्रीन की सूची है। एंड्रॉयड पुलिस

Notification Access Screen

सौजन्य से

+0

यह संभव है कि यह केवल सेटिंग्स में सुरक्षा स्क्रीन पर दिखाई देगा जब 1+ अधिसूचना श्रोताओं स्थापित कर रहे हैं। – CommonsWare

+0

मैंने अधिसूचना श्रोता के साथ-साथ "एंड्रॉइड के लिए सक्रिय नोटिफिकेशन" ऐप के साथ अपना ऐप इंस्टॉल किया है (जिसमें ऐप खोलने पर सेटिंग्स स्क्रीन पॉप अप होती है) लेकिन यह अभी भी दिखाई नहीं दे रही है। – adefran83

+0

मुझे वास्तव में गूंगा लगता है, यह आपके द्वारा इंस्टॉल किए जाने के बाद दिखाई देता है ... हालांकि मैं अभी भी इसे उपयोगकर्ता के लिए स्वचालित रूप से खोलना चाहता हूं, इसलिए उन्हें इसके लिए शिकार करने की आवश्यकता नहीं है। इसे प्रतिबिंबित करने के लिए मेरे प्रश्न को संपादित करेंगे। – adefran83

उत्तर

23

वहाँ Android 4.3 में an outstanding bug जहां अधिसूचना श्रोता स्क्रीन कार्रवाई Settings में सूचीबद्ध नहीं है है। वर्तमान समाधान नहीं है:

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS")); 
+0

धन्यवाद! पूरी तरह से काम किया। – adefran83

+0

मैंने इसे अपने ऐप में इस्तेमाल किया लेकिन अब ऐप शुरू होने पर यह खुलता है। क्या इसे खोलने का कोई तरीका है यदि उपयोगकर्ता ने ऐप को एक्सेस के लिए नहीं चुना है? –

+1

@AbhyudayaSrinet: मैंने 'अधिसूचना लिस्टर सेवा 'के साथ नहीं खेला है। आपको यह पता लगाना होगा कि क्या आप श्रोता के रूप में सक्षम हैं या नहीं, और यदि आप श्रोता के रूप में सक्षम नहीं हैं तो केवल गतिविधि शुरू करें। मैंने इस क्षेत्र का शोध नहीं किया है यह जानने के लिए कि वास्तव में यह कैसे करना है। – CommonsWare

2

bug कि @CommonsWare उल्लेख has been fixed as of Android 5.1 (API 22)। अब आप इस का उपयोग कर सकते नोटिफिकेशन की एक्सेस स्क्रीन करने के लिए उपयोगकर्ता लाने के लिए:

startActivity(new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS));

मैं कई Genymotion उदाहरणों (4.3, 4.4, और 5.1) के साथ ही एक Galaxy S3 चल भर में इस परीक्षण किया है 4.3, और इस समाधान ने प्रत्येक मामले में पूरी तरह से काम किया है।

फील्ड एपीआई 22 (वर्तमान मिनट 18 है) की आवश्यकता है:

अजीब लेकिन एंड्रॉयड स्टूडियो जब मैं 22 परियोजनाओं पूर्व एपीआई पर इस क्षेत्र का उपयोग करें, तथ्य यह है कि यह समस्याओं के बिना काम करता है के बावजूद मुझे एक चेतावनी देता है : android.provider.Settings # ACTION_NOTIFICATION_LISTENER_SETTINGS

मुझे विश्वास है कि इस चेतावनी को सुरक्षित रूप से, ध्यान नहीं दिया जा करने के लिए इसी तरह कैसे आप मंच के किसी भी संस्करण पर Build.VERSION_CODES से मूल्यों का उपयोग कर सकते करने के लिए सक्षम होना चाहिए। प्रलेखन के लिए

लिंक: Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS

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