Android 11.0 自定义按键实现锁屏

Posted 王睿丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 11.0 自定义按键实现锁屏相关的知识,希望对你有一定的参考价值。

路径:
frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

【思路】

  • 1、在事件处理处,发送广播给KeyguardViewMediator
  • 2、KeyguardViewMediator来实现锁屏

frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

 public int interceptKeyBeforeQueueing(KeyEvent event, int policyFlags) 
 	            //新增锁屏键
            case KeyEvent.KEYCODE_BREAK:
                Intent intent = new Intent("com.android.internal.policy.impl.PhoneWindowManager.DELAYED_KEYGUARD");
                intent.putExtra("BREAK","break");		//发送标识,因为我们要针对它做专门处理
                mContext.sendBroadcast(intent);
                break;

frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java

    private final BroadcastReceiver mDelayedLockBroadcastReceiver = new BroadcastReceiver() 
        @Override
        public void onReceive(Context context, Intent intent) 
 				//根据PauseBreak键发起的广播请求由我们自己来处理
                if (intent.getStringExtra("BREAK").equals("break"))
                    doKeyguardLocked(null); //锁屏
                    return;
             ...
             
    ;

以上是关于Android 11.0 自定义按键实现锁屏的主要内容,如果未能解决你的问题,请参考以下文章

Android 11.0 修复在锁屏界面连续按锁屏键,需要按多次空格键才能解锁的Bug

Android 11.0 修复锁屏后连续按亮度键,System UI报错

Android 11.0 修改在锁屏界面,按“△”键不能解锁,只能按空格键解锁

Android 11.0 机器息屏瞬间立即按power键,机器亮屏并直接进入系统,不再锁屏

Android 按键 锁屏时禁止按键调节亮度

Android监听按键锁屏广播