मैं एक छोटा उपयोगिता ऐप विकसित कर रहा हूं जो 2 डी बारकोड स्कैन करता है, और उसके बाद प्रत्येक बारकोड को एक IntentService पर सबमिट करता है जहां एक लंबा कार्य किया जाता है।क्या एकाधिक वेक ताले पकड़ना संभव है?
जब गतिविधि दिखाई जाती है, तो उसे डिवाइस में बारकोड संसाधित होने तक डिवाइस को सोने से रोकना चाहिए। यदि सेवा प्रसंस्करण को समाप्त करती है, तो यह स्वयं बंद हो जाती है, लेकिन गतिविधि अभी भी दिखाई देनी चाहिए।
मैं गतिविधि जीवन चक्र के दौरान एक SCREEN_DIM_WAKE_LOCK वेक लॉक पकड़ना चाहता हूं, लेकिन इस प्रकार से CPU को सोने से रोका नहीं जाता है, इसलिए मुझे एक नया 2 डी कोड स्कैन होने पर गतिविधि में PARTIAL_WAKE_LOCK प्राप्त करने की भी आवश्यकता होगी , और संसाधित होने के बाद इसे मंशा सेवा में छोड़ दें।
SCREEN_DIM_WAKE_LOCK उद्देश्य उपयोगकर्ता को जागने के लिए प्रत्येक कुछ सेकंड में पावर बटन को दबाए रखने और एक नया बारकोड पढ़ने में सक्षम होने के लिए उपयोगकर्ता को टालने की असुविधा से बचने के लिए है। उपयोगकर्ता को एक दूसरे के बाद कोडों की एक बड़ी संख्या पढ़नी होगी और छोटी अंतराल के लिए भी गतिविधि होनी चाहिए जहां कोई उपयोगकर्ता इंटरैक्शन नहीं है।
मुझे एंड्रॉइड में पता है कि ऐप की शीर्ष 100% गारंटी, बंद नहीं है, या कई स्थितियों के कारण अग्रभूमि है, जहां तक मेरा ऐप नियंत्रित नहीं हो सकता है, लेकिन मैं जहां तक कर सकता हूं वहां जाना चाहूंगा।
तो एकाधिक वेक लॉक पकड़ना संभव है? गतिविधि और सेवा दोनों से उन्हें कहां से घोषित किया जा सकता है? (सिंगलटन, विस्तार का आवेदन?)
+1। लेकिन मैं 'ऑनस्टॉप' में स्क्रीन वेक लॉक जारी कर रहा हूं, क्योंकि जब मैं एक संवाद दबाता हूं तो मैं इसे सोना नहीं चाहता। –
मुझे लगता है कि जब एक संवाद सामने आता है, तो आप बार कोड स्कैन नहीं कर रहे हैं, क्योंकि उपयोगकर्ता को संवाद का जवाब देना पड़ता है, क्या सिस्टम को नींद देना ठीक नहीं है, अगर उपयोग का जवाब नहीं देता है समय में संवाद? – Madushan
हां, ठीक है यह सब इस बात पर निर्भर करता है कि नींद टाइमर कितना समय लेता है। अगर इसमें 3 सेकंड लगते हैं, तो बिजली बटन को धक्का देना परेशान है। यदि इसमें अधिक समय लगता है, तो मैं इसके साथ ठीक हूं। काम के भार के आधार पर, मैं स्क्रीन मंद लॉक भी डंप कर सकता हूं। –