में मैं अलार्म मैनेजर के setExactAndAllowWhileIdle
का उपयोग करके हर 30 मिनट में अपने ऐप में अलार्म आग लगाने की कोशिश कर रहा हूं लेकिन यह काम नहीं कर रहा है!एंड्रॉइड अलार्म मैनेजर setExactAndAllowWhileIdle() एंड्रॉइड 7.0 में काम नहीं कर रहा है डोज़ मोड
जब भी मुझे अलार्म सिग्नल प्राप्त होता है तो पुश अधिसूचना जारी करके कार्यक्षमता का परीक्षण करता हूं।
समस्या यह है: जब उपकरण कुछ समय के लिए निष्क्रिय होने के बाद डोज मोड में प्रवेश करता है, तो मुझे अब अलार्म नहीं मिलते हैं। हालांकि, जैसे ही मैं स्क्रीन चालू करता हूं, मुझे एक अधिसूचना मिलती है। मेरे ऐप को सटीक अलार्म की आवश्यकता है जिसे हर 30 मिनट में बिल्कुल समय पर वितरित करने की आवश्यकता होती है! यह देरी अलार्म या गिराए गए लोगों को प्राप्त करने का जोखिम नहीं उठा सकता क्योंकि डिवाइस डोज़ मोड में है!
- मैं जब मैं अपने एप्लिकेशन को खोलने अलार्म सेट:
मैं अपने कोड में निम्नलिखित का इस्तेमाल किया।
- मुझे एक वेकफुलबॉडकास्ट रिसीवर का उपयोग करके अलार्म सिग्नल प्राप्त होता है। इसके
onReceive()
विधि में मैंने अगला अलार्म सेट किया है। मैं भी, स्टार्टवेकुलस सेवा शुरू करता हूं जो केवल पुश अधिसूचना जारी करता है, फिर स्वयं रोकता है। - मैं ऑनसेसिव() के अंत में पूर्ण WakefulIntent को कॉल करता हूं।
- मैं दोनों का परीक्षण करने की कोशिश की: RTC_WAKEUP & ELAPSED_REALTIME_WAKEUP
नोट्स:
- wakefulbroadcastReceiver वर्ग प्रकट में पंजीकृत है।
android.permission.WAKE_LOCK
- मैंने कोशिश की मेरे ऐप सफेद लिस्टिंग, लेकिन परिणाम एक ही
- मैं
setAlarmClock()
जो भी Doze मोड के दौरान हर समय काम किया उपयोग करने की कोशिश, एक के साथ गिरा दिया/देरी अलार्म: - मैं के लिए अनुमतियों को जोड़ा हर 50 अलार्म। तो, यह भी सही नहीं है। और मैं नहीं चाहता कि उपयोगकर्ता हर समय ऊपर अलार्म आइकन देखें।
- न केवल सेटएक्सएक्ट औरAllowWhileIdle() न केवल डोज़ के दौरान काम करता है, बल्कि यह काम कर रहा है जब भी भयानक सटीकता है। मुझे आमतौर पर अलार्म सिग्नल
या तो 1-3 मिनट बाद या 1-3 मिनट पहले मिलता है। - मैं हुआवेई मेट 8, और एंड्रॉइड 7.0 नौगेट का उपयोग कर परीक्षण कर रहा हूं।
पी.एस: का जवाब दे कृपया सुनिश्चित करें कि आप प्रतिबंध के बारे में पता कर रहे हैं इससे पहले कि शुरू कर लगाया Android 6.0 एम और खपत के मोड।
Link1: https://developer.android.com/training/monitoring-device-state/doze-standby.html
सारांश में यह इस का कहना है:
- आप अलार्म कि जब खपत में आग, setAndAllowWhileIdle() या setExactAndAllowWhileIdle() का उपयोग निर्धारित करने की जरूरत है।
- setAlarmClock() के साथ सेट अलार्म सामान्य रूप से आग लगते हैं - सिस्टम उन अलार्म आग से कुछ ही समय पहले बाहर निकलता है।
अब, मुझे setExactAndAllowWhileIdle()
का उपयोग करके हर 30 मिनट में सटीक अलार्म सिग्नल क्यों नहीं मिलते हैं? और, setAlarmClock()
क्यों 100% विश्वसनीय नहीं है ?!
यह [सहायता] (https://stackoverflow.com/a/39739886/3117966) – Nisarg
मुझे एक ही समस्या है, और समान अवलोकन देख रहा है। मेरी इच्छा है कि Google से कोई भी प्लेट पर जाकर इस समस्या को ठीक कर सके। – d777
@Mena क्या आपको इसके लिए समाधान मिला, मेरे पास एक ही समस्या है। – CauCuKien