安卓密码解锁流程简析

时间 2022-01-06

安卓密码解锁流程

安卓原生的密码解锁页面的View是KeyguardPasswordView,谷歌对此view的注释是

/**
 * Displays an alphanumeric (latin-1) key entry for the user to enter
 * an unlock password
 */
 显示一个字母数字 (latin-1) 键条目供用户输入解锁密码

1、这个view提供了一个键盘用于组合密码的输入,在键盘上可以进行密码输入、删除、确认等操作。
2、此View中重写了onEditorAction方法,用于检查是否按下了回车键。

public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        // Check if this was the result of hitting the enter key
        final boolean isSoftImeEvent = event == null
                && (actionId == EditorInfo.IME_NULL
                || actionId == EditorInfo.IME_ACTION_DONE
                || actionId == EditorInfo.IME_ACTION_NEXT);
        final boolean isKeyboardEnterKey = event != null
                && KeyEvent.isConfirmKey(event.getKeyCode())
                && event.getAction() == KeyEvent.ACTION_DOWN;
        if (isSoftImeEvent || isKeyboardEnterKey) {
            verifyPasswordAndUnlock();
            return true;
        }
        return false;
    }

3、在此方法中,我们能看到,当按下回车键的时候,触发校验密码的逻辑。当前类中没有verifyPasswordAndUnlock()这个方法,此类继承于KeyguardAbsKeyInputView,所以此处调用的是父类中的方法。所以后续流程和安卓PIN码解锁的流程就相同。
这里可以看我写的PIN码解锁流程
https://blog.csdn.net/yht1364488/article/details/122304015

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值