अगर आपको डिवाइस के निलंबित होने से पहले, उस पर कुछ काम पूरा करना है, तो वेक लॉक नाम की PowerManager
सिस्टम सेवा की सुविधा का इस्तेमाल किया जा सकता है. वेक लॉक की मदद से, आपका ऐप्लिकेशन डिवाइस की बिजली की स्थिति को कंट्रोल कर सकता है.
वेक लॉक सेट करना
वेक लॉक का इस्तेमाल करने के लिए, सबसे पहले अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में WAKE_LOCK
अनुमति जोड़ें:
<uses-permission android:name="android.permission.WAKE_LOCK" />
अगर आपके ऐप्लिकेशन में कोई ऐसा ब्रॉडकास्ट रिसीवर है जो किसी काम के लिए सेवा का इस्तेमाल करता है, तो सीधे तौर पर वॉक लॉक सेट करने का तरीका यहां बताया गया है:
Kotlin
val wakeLock: PowerManager.WakeLock = (getSystemService(Context.POWER_SERVICE) as PowerManager).run { newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyApp::MyWakelockTag").apply { acquire() } }
Java
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyApp::MyWakelockTag"); wakeLock.acquire();
वेक लॉक को रिलीज़ करना
डिवाइस को अनलॉक करने के लिए, wakelock.release()
बोलें. ऐसा करने पर, सीपीयू पर आपका दावा खत्म हो जाता है. बैटरी खर्च होने से बचाने के लिए, ऐप्लिकेशन के इस्तेमाल के बाद वॉक लॉक को तुरंत रिलीज़ करना ज़रूरी है.