本文实例讲述了Android编程实现禁止系统锁屏与解锁亮屏的方法。分享给大家供大家参考,具体如下:
需求:
某个时刻任务执行完毕,关闭屏幕,某时刻再开启屏幕继续执行任务
通常情况下,不设置屏幕常亮,系统会自动锁屏,锁屏后不能从代码解锁(疑问),所以我的做法是只让系统关闭屏幕,但不锁屏!
1
2
3
|
WakeLock lock, unLock; KeyguardManager km; KeyguardLock kl; |
1
2
3
4
|
unLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright" ); // 得到键盘锁管理器对象 km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); kl = km.newKeyguardLock( "unLock" ); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
void lockScreen() { // 锁屏 kl.reenableKeyguard(); // 释放wakeLock,关灯 if (unLock.isHeld()) unLock.release(); } void unLockScreen() { // 点亮屏幕 if (!unLock.isHeld()) unLock.acquire(); // 解锁 kl.disableKeyguard(); } |
测试代码,调用测试代码后,你手动按电源键锁屏,5s后你会看到屏幕亮起
1
2
3
4
5
6
7
8
9
10
|
{ lockScreen(); getListView().getHandler().postDelayed( new Runnable() { @Override public void run() { unLockScreen(); } }, 5000 ); break ; } |
希望本文所述对大家Android程序设计有所帮助。