解锁、唤醒屏幕用到KeyguardManager,KeyguardLock,PowerManager,PowerManager.WakeLock

所需权限:

//锁屏、唤醒相关

private KeyguardManager  km;

private KeyguardLock kl;

private PowerManager pm;

private PowerManager.WakeLock wl;

private void wakeAndUnlock(boolean b)

{

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();

}

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐