1、这个方法是实现锁屏状态下唤醒手机,亮屏并解锁屏幕:
[java]view plaincopypublicstaticvoidwakeUpAndUnlock(Contextcontext){ //屏锁管理器 KeyguardManagerkm=(KeyguardManager)context.getSystemService(Context.KEYGUARD_SERVICE); KeyguardManager.KeyguardLockkl=km.newKeyguardLock("unLock"); //解锁 kl.disableKeyguard(); //获取电源管理器对象 PowerManagerpm=(PowerManager)context.getSystemService(Context.POWER_SERVICE); //获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag PowerManager.WakeLockwl=pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.SCREEN_DIM_WAKE_LOCK,"bright"); //点亮屏幕 wl.acquire(); //释放 wl.release(); } 加入权限: [java]view plaincopy<uses-permissionandroid:name="android.permission.WAKE_LOCK"/> <uses-permissionandroid:name="android.permission.DISABLE_KEYGUARD"/>
2、这个收集的: [java]view plaincopy//锁屏、唤醒相关 privateKeyguardManagerkm; privateKeyguardLockkl; privatePowerManagerpm; privatePowerManager.WakeLockwl; privatevoidwakeAndUnlock(booleanb) { if(b) { //获取电源管理器对象 pm=(PowerManager)getSystemService(Context.POWER_SERVICE); //获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是调试用的Tag wl=pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.SCREEN_BRIGHT_WAKE_LOCK,"bright"); //点亮屏幕 wl.acquire(); //得到键盘锁管理器对象 km=(KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE); kl=km.newKeyguardLock("unLock"); //解锁 kl.disableKeyguard(); } else { //锁屏 kl.reenableKeyguard(); //释放wakeLock,关灯 wl.release(); } } 说明:
getSystemService取不到就获取上下文对象getActivity().getSystemService()。
原文地址:/bsmmaoshenbo/article/details/51525655
如果觉得《android锁屏唤醒并解锁屏幕》对你有帮助,请点赞、收藏,并留下你的观点哦!