Android WakeLock无效问题

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无效问题)