Android唤醒、解锁屏幕代码实例

时间:2022-01-27 07:06:23

解锁、唤醒屏幕用到KeyguardManager,KeyguardLock,PowerManager,PowerManager.WakeLock
 
所需权限:

复制代码 代码如下:

<uses-permission android:name="android.permission.WAKE_LOCK" />

 

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
 

 

 

复制代码 代码如下:

//锁屏、唤醒相关
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();
       }
     
}