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