由于有些项目有解锁唤醒屏幕的需求。比如闹钟,打电话等。下面是使用键盘锁管理器和电源管理器实现解锁屏幕和点亮屏幕的功能。
01
02
03
04
05
06
07
08
09
10
|
KeyguardManager km= (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
//得到键盘锁管理器对象
KeyguardLock kl = km.newKeyguardLock(
"unLock"
);
//参数是LogCat里用的Tag
kl.disableKeyguard();
//解锁
PowerManager pm=(PowerManager) getSystemService(Context.POWER_SERVICE);
//获取电源管理器对象
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK,
"bright"
);
//获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag
wl.acquire();
//点亮屏幕
wl.release();
//释放
|
要实现自动解锁和点亮屏幕的功能则需要在AndroidManifest.xml添加权限:
01
02
|
<uses-permission android:name=
"android.permission.WAKE_LOCK"
/>
<uses-permission android:name=
"android.permission.DISABLE_KEYGUARD"
/>
|