Android 键盘 自定义按键实现锁屏

Posted 王睿丶

tags:

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

路径:
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 键盘 自定义按键实现锁屏的主要内容,如果未能解决你的问题,请参考以下文章

Android自定义软键盘

Ionic实现自定义返回按键事件

Andrid 按键 锁屏界面连续按键盘锁屏键后,需要多次按空格键才能解锁成功

Android Studio 键盘快捷键

Android监听按键锁屏广播

Kotlin--›自定义实现支付密码数字键盘