2016-06-30 14 views
5

एंड्रॉइड ऐप में, मेरे पास एक बटन है जिसे मैं ऐप अधिसूचना सेटिंग्स (एंड्रॉइड सेटिंग्स में) खोलने की कार्यक्षमता रखना चाहता हूं।एप्लिकेशन एप्लिकेशन अधिसूचना सेटिंग्स प्रोग्रामेटिक रूप से

Screenshot of Android's notification settings for the Camera application

मैं इस

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0); 

साथ एंड्रॉयड सेटिंग खोल सकते हैं लेकिन मैं अपने एप्लिकेशन सूचना सेटिंग

वैकल्पिक

पर सीधे खोलना चाहते हैं वहाँ है एक "ब्लॉक नोटिफिकेशन" को प्रोग्रामेटिक रूप से चालू और बंद करने का तरीका है एलडी भी ठीक हो।

+0

एक बुलियन जोड़ें, इसे सहेजें और ऐप के अंदर सेटिंग्स जोड़ें। – Zoe

+0

[संभवतः मेरे ऐप के लिए एंड्रॉइड अधिसूचना सेटिंग्स से लिंक करने का कोई भी तरीका?] (Https://stackoverflow.com/questions/32366649/any-way-to-link-to-the-android-notification-settings- for-my-app) – Przemo

उत्तर

7

कोई सार्वजनिक एपीआई नहीं है जो आपको सीधे आपके एप्लिकेशन की अधिसूचना सेटिंग्स में गहरी लिंक करने की अनुमति देगी।

आप अपने आवेदन की सेटिंग्स के गहरे लिंक पर Settings.ACTION_APPLICATION_DETAILS_SETTINGS का उपयोग कर सकते हैं, लेकिन यह आपको सीधे अधिसूचना स्क्रीन पर नहीं ले जाएगा।

Any way to link to the Android notification settings for my app? में एक समाधान है जो काम कर सकता है, लेकिन चूंकि यह आधिकारिक एपीआई का हिस्सा नहीं है, इसलिए यह सभी उपकरणों या एंड्रॉइड के भविष्य के संस्करणों पर काम करने की गारंटी नहीं है।

अगर वहाँ एक तरह से "ब्लॉक notificaations" को चालू करने और प्रोग्राम के बंद वह भी ठीक हो जाएगा

बिल्कुल नहीं

। किसी एप्लिकेशन को प्रोग्रामेटिक रूप से इसकी अधिसूचनाओं को चालू और बंद करने की अनुमति देना सूचनाओं को चालू और बंद करने पर उपयोगकर्ता नियंत्रण देने के उद्देश्य को हरा देता है।

+0

बीमार सेटिंग्स का उपयोग करें .ACTION_APPLICATION_DETAILS_SETTINGS, धन्यवाद – Ric

0
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
Uri uri = Uri.fromParts("package", getPackageName(), null); 
intent.setData(uri); 
startActivity(intent); 
0

मैं जानता हूँ कि यह एक पुराने सवाल है, लेकिन भविष्य में यह लग रहा उन लोगों के लिए: एक अधिकारी किसी विशिष्ट एप्लिकेशन की सूचना सेटिंग के लिए Intent डीप लिंक Oreo (एपीआई स्तर 26) के रूप में वहाँ अब है।

Intent settingsIntent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS) 
     .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 
     .putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName()) 
     .putExtra(Settings.EXTRA_CHANNEL_ID, MY_CHANNEL_ID); 
startActivity(settingsIntent); 

EXTRA_CHANNEL_ID पैरामीटर वैकल्पिक है, और the docs के अनुसार, "उस चैनल पर प्रकाश डाला।" होगा एफडब्ल्यूआईडब्ल्यू, एंड्रॉइड 8.1 के रूप में, मैं नहीं देख सकता कि इससे कोई फर्क पड़ता है।

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