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 修改在锁屏界面,按“△”键不能解锁,只能按空格键解锁