Android在锁屏下使用WakeLock无效的原因可能是:
任务还没有完成就调用wakelock.release()释放了锁。
例如下面的代码是无效的
while(true){
wakeLock.acquire();
···
wakeLock.release();
Thread.currentThread().sleep(20000);
}
因为WakeLock锁释放了,而任务还没有完成,导致下面的代码在cpu休眠状态下无法执行。
解决办法:只需要把wakeLock.release()这行代码放在sleep()后面即可
while(true){
wakeLock.acquire();
···
Thread.currentThread().sleep(20000);
wakeLock.release();
}
本文探讨了Android中WakeLock在锁屏状态下的使用问题。当任务未完成即释放WakeLock会导致后续代码无法执行。通过调整释放时机,确保在睡眠指令后释放WakeLock可以有效解决问题。

1844

被折叠的 条评论
为什么被折叠?



