Android点亮屏幕

2019-07-14 02:13发布

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(); //点亮屏幕 KeyguardManager km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); //得到键盘锁管理器对象 KeyguardManager.KeyguardLock kl = km.newKeyguardLock("unLock"); //参数是LogCat里用的Tag kl.disableKeyguard(); //解锁 kl.reenableKeyguard(); //重新启用自动加锁 wl.release(); //释放

但是把这些代码打进去后发现Android已经不推荐用KeyguardLock, Android api推荐调用Activity的addFlags方法设置WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED属性, 这种方法好处有:不需要其他权限,当你应用程序所有Activity finish后,不需要重新启动自动加锁。 最后Android 点亮屏幕最重要一点:PowerManager.WakeLock使用完成后,必须release()。