設定及管理喚醒鎖定

如果您需要讓裝置持續執行,以便在裝置進入暫停狀態前完成某些工作,可以使用名為「喚醒鎖定」的 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,以免耗盡電池電量。

另請參閱