1. अगर फोन एक पूर्ण आने वाली फोन कॉल से अलग नींद मोड में है, तो आप फ़ोन को उठाने के लिए अलार्ममेनर इरादे का उपयोग कर सकते हैं।
AlarmManager वर्ग प्रलेखन से
:
अलार्म प्रबंधक एक सीपीयू मद्देनजर ताला जब तक अलार्म रिसीवर के onReceive() विधि को क्रियान्वित कर रहा है रखती है। यह गारंटी देता है कि फ़ोन नींद नहीं करेगा जब तक कि आपने प्रसारण को संभालना समाप्त नहीं किया हो। एक बार ऑनसेसिव() रिटर्न, अलार्म मैनेजर इस जाग लॉक को रिलीज़ करता है। इसका मतलब है कि फ़ोन कुछ मामलों में जल्द ही सो जाएगा क्योंकि आपकी ऑनसीसीव() विधि पूर्ण हो जाती है। यदि आपका अलार्म रिसीवर Context.startService() कहलाता है, तो यह संभव है कि फोन अनुरोध सेवा शुरू होने से पहले सो जाएगा। इसे रोकने के लिए, आपके ब्रॉडकास्ट रिसीवर और सेवा को सुनिश्चित करने के लिए अलग-अलग वेक लॉक नीति लागू करने की आवश्यकता होगी कि फ़ोन तक चल रहा है, सेवा उपलब्ध हो जाती है।
2. यदि आप एक AsyncTask के साथ काम कर रहे हैं, आप AsyncTask प्रलेखन से onPostExecute()
पर यूआई धागा करने पर परिणाम प्रकाशित करना चाहते हैं जाएगा:
AsyncTask उचित और आसान सक्षम बनाता है यूआई थ्रेड का उपयोग करें। यह वर्ग थ्रेड और/या हैंडलर का उपयोग किए बिना यूआई थ्रेड पर पृष्ठभूमि संचालन करने और परिणामों को प्रकाशित करने की अनुमति देता है।
3. मेरा सुझाव है कि आपने Power Manager के आधिकारिक दस्तावेज़ीकरण में पढ़ा है जो वेक लॉक अवधारणा के लिए एक अच्छा परिचय देता है।
मैं यह भी जानना चाहूंगा। विशेष रूप से, फोन किस नींद में सो जाता है? अगर फोन जाग रहा है, तो मैं निरंतर गतिविधि शुरू करता हूं (मेरे मामले में एक फाइल अपलोड कर रहा है), क्या मेरी प्रक्रिया काम करते समय फ़ोन सो जाएगा? – Timmmm