如果您需要讓裝置持續執行,以便在裝置進入暫停狀態前完成某些工作,可以使用名為「喚醒鎖定」的 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();
釋放 Wake Lock
如要釋放喚醒鎖定,請呼叫 wakelock.release()
。這麼做會釋出您對 CPU 的要求。應用程式使用完 Wake Lock 後,請務必盡快釋放 Wake Lock,以免耗盡電池電量。