WakeLock

James Lin
1 min readJul 1, 2018

--

想要一個在 background 跑 Task 而不被殺掉的時候怎麼辦呢
前陣子發現一件事情當手機按下電源鈕的時候,手機會進入待機模式,這時,android 將會把 application 與application 派出的 Thread 全部砍光。

WakeLock 可以讓手機 Run 某個特定的任務,重新 Launch 你的app。怎麼用呢?

首先,先取得 Wake Lock,PowerManager.PARTIAL_WAKE_LOCK,要小心的使用 Wake Lock,因為它會使手機耗電更快。

val powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager
val wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakelockTag")
wakeLock.acquire()
/**
do something...**/
wakeLock.release()

用完記得 wakeLock.release(),釋放掉 Lock。

--

--

James Lin
James Lin

No responses yet