नेक्सस 5 पर एंड्रॉइड 6.0 अपडेट के बाद से, हर बार मुझे फोन 'वाइब्रेट नेटवर्क में साइन इन करें' की सूचना मिलती है। कोई भी विचार जहां मैं कॉल, एसएमएस, व्हाट्सएप संदेश आदि के लिए कंपन रखते हुए इसे बंद कर सकता हूं?
नेक्सस 5 पर एंड्रॉइड 6.0 अपडेट के बाद से, हर बार मुझे फोन 'वाइब्रेट नेटवर्क में साइन इन करें' की सूचना मिलती है। कोई भी विचार जहां मैं कॉल, एसएमएस, व्हाट्सएप संदेश आदि के लिए कंपन रखते हुए इसे बंद कर सकता हूं?
जवाबों:
इसमें एक समाधान है जिसमें डू नॉट प्रायरिटी ओनली मोड शामिल है।
इसे सीधे शब्दों में कहें, तो आपको प्रायोरिटी ( क्विक सेटिंग्स से - डिस्टर्ब न करें ) का उपयोग करना होगा क्योंकि इसमें नोटिफिकेशन अलर्ट के लिए प्रति-ऐप सेटिंग है जो सिस्टम की डिफॉल्ट सेटिंग को ओवरराइट कर सकता है। प्राथमिकता केवल मोड में अभी भी सभी सूचनाएं दिखाई देंगी। हालांकि, केवल प्राथमिकता वाले नोटिफिकेशन को अलर्ट (ध्वनि, कंपन और एलईडी लाइट) किया जाएगा।
यह विचार है कि सभी सूचनाओं को प्राथमिकता के रूप में माना जाता है ( सेटिंग्स से - ध्वनि और अधिसूचना - ऐप सूचनाएं - [ऐप का नाम] - प्राथमिकता के रूप में समझें) कैप्टिव पोर्टल अधिसूचना को छोड़कर, जो एंड्रॉइड सिस्टम ऐप के तहत है (डिफ़ॉल्ट रूप से, सिस्टम ऐप सूचीबद्ध नहीं हैं आपको ओवरफ्लो मेनू से शो सिस्टम पर टिक करने की आवश्यकता है । इस ऐप को गैर-प्राथमिकता के रूप में छोड़ दें, लेकिन बाकी सिस्टम ऐप के लिए मत भूलना)।
हालांकि, कुछ नुकसान हैं जो आप इस समाधान का उपयोग करने से पहले पहले विचार कर सकते हैं:
टी एल; डॉ
यदि आप अभी भी बंदी पोर्टल (इस विशेष मुद्दे) को छोड़कर सभी सूचनाओं पर कंपन चाहते हैं , तो मुझे डर है कि आप नहीं कर सकते ।
यह टिप्पणी में उल्लिखित dbasch के रूप में है , कि मार्शमैलो में कंपन (वास्तव में, सूचना अलर्ट स्वयं) जोड़ा गया था।
जब एंड्रॉइड यह पता लगाता है कि वाईफाई को कैप्टिव पोर्टल पर लॉगिन करने की आवश्यकता है, जैसा कि आपने पहले ही देखा था, तो यह एक अधिसूचना बनाएगा। यह setProvNotificationVisibleIntent()
फ़ंक्शन द्वारा किया जाता है ConnectivityService
।
नेटवर्क प्रोविजनिंग सूचनाएँ दिखाएं या छिपाएँ।
हम दो उद्देश्यों के लिए सूचनाओं का उपयोग करते हैं: यह सूचित करने के लिए कि किसी नेटवर्क में साइन इन (
NotificationType.SIGN_IN
) की आवश्यकता है , या यह सूचित करने के लिए कि नेटवर्क में इंटरनेट एक्सेस (NotificationType.NO_INTERNET
) नहीं है। हम प्रति आईडी अधिकतम एक सूचना को प्रदर्शित करते हैं, इसलिए किसी विशेष नेटवर्क पर हम सूचना प्रकार को प्रदर्शित कर सकते हैं जो हाल ही में अनुरोध किया गया था। उदाहरण के लिए यदि एक कैप्टिव पोर्टल कनेक्ट होने के कुछ सेकंड के भीतर उत्तर देने में विफल रहता है, तो हम पहले प्रदर्शित कर सकते हैंNO_INTERNET
, और फिर जब कैप्टिव पोर्टल चेक पूरा करता है, तो प्रदर्शित होता हैSIGN_IN
।
एंड्रॉइड 6.0 मार्शमैलो में उपयोग किए जाने वाले सूचना अलर्ट के लिए प्रासंगिक कोड :
Notification notification = new Notification.Builder(mContext)
...
.setDefaults(Notification.DEFAULT_ALL)
...
ध्यान दें कि Notification.DEFAULT_ALL
" सभी डिफ़ॉल्ट मूल्यों (जहां लागू हो) का उपयोग करेगा" , जिसका अर्थ है कि यह आपके सिस्टम की अधिसूचना सेटिंग (ध्वनि, कंपन और एलईडी लाइट) पर निर्भर करता है।
एंड्रॉइड 5.x लॉलीपॉप में एक की तुलना में , कोड है:
Notification notification = new Notification();
...
न आधिक न कम। यह प्रासंगिक कोड है। new Notification()
" डिफ़ॉल्ट मानों के साथ एक Notification
वस्तु का निर्माण करेगा" । हालांकि ऐसा लगता है कि अर्थ में कोई बदलाव नहीं हुआ है, ध्यान दें कि defaults
इसका सेट / इनिशियलाइज़्ड नहीं है Notification.DEFAULT_ALL
(मान: -1)। इसके बजाय, चूंकि कोई आरंभीकरण नहीं है, इसलिए इसे 0 में डिफ़ॉल्ट कर दिया जाएगा, जो कि कोई चेतावनी नहीं है ।
यह Google द्वारा अनदेखा किया गया बग है या नहीं, जो मार्शमैलो में तय किया गया है या नहीं, मुझे नहीं पता। इसके अलावा, यही कारण है कि एंड्रॉइड लॉलीपॉप में कोई अलर्ट नहीं है, लेकिन अब एंड्रॉइड मार्शमैलो में है।
मुझे उस कष्टप्रद कंपन से छुटकारा पाने का एकमात्र तरीका पूरी तरह से 'उपलब्ध वाईफाई' अधिसूचना को निष्क्रिय करना है। इसे करने के लिए सेटिंग पर जाएं-> wifi -> तीन वर्टिकल डॉट्स पर टैप करें -> 'एडवांस्ड सेटिंग्स' में जाएं और पब्लिकली एक्सेसिबल वाईफाई नेटवर्क के लिए नोटिफिकेशन को डिसेबल कर दें। एक फिक्स के लिए प्रतीक्षा कर रहा है, मुझे लगता है कि यह एकमात्र समाधान है और उन्हें अक्षम करने के लिए इतना बुरा नहीं है, मैंने हमेशा उन्हें बेकार समझ लिया।
सेटिंग्स> ऐप्स> Google कनेक्टिविटी सेवाएँ> सूचनाएं> ब्लॉक उन्हें पूरी तरह से बंद कर देता है।
यह सूचना Android सिस्टम ( android
) द्वारा दी गई है । आप किसी भी स्थिति में डिवाइस को कंपन करने की अनुमति देने के लिए एंड्रॉइड सिस्टम से इनकार करने के लिए अप्प्स का उपयोग कर सकते हैं। बशर्ते कि आपने पीसी में एडीबी सेटअप किया हो:
adb shell appops set android VIBRATE deny
इंटरनेट एक्सेस न होने से वाई-फाई से कनेक्ट करने का प्रयास करें। आपको अभी भी वह सूचना मिल जाएगी लेकिन कोई कंपन नहीं। यदि आप भी उस अधिसूचना को छिपाने का इरादा रखते हैं, तो आप यहां या इस वेबसाइट पर पोस्ट किए गए बाकी उत्तरों का अनुसरण कर सकते हैं।
परिवर्तनों को वापस करने के लिए, करें:
adb shell appops set android VIBRATE allow
कॉल करने के लिए वाइब्रेशन डायलर ऐप द्वारा शुरू किया गया है, एसएमएस के लिए यह आपका डिफ़ॉल्ट एसएमएस ऐप होगा, व्हाट्सएप संदेशों के लिए, यह एक ही ऐप है, इसलिए वे प्रभावित होने वाले नहीं हैं। उस आदेश के अप्रत्याशित परिणाम हो सकते हैं जिनसे मैं अनजान हूं, इसलिए मुझे टिप्पणियों के माध्यम से उनके बारे में बताएं।
नोट: यह समाधान अनौपचारिक CM13 बिल्ड पर परीक्षण किया गया है।