SystemUI 人脸识别解锁后指纹消耗次数并没有清楚

不积跬步无以至千里

一.前摘

         android10.0后安卓系统已经开始内部支持人脸识别了,和指纹识别的设计非常相似,归为生物识别技术,但是咱们这里写的问题是android9.0或者之前的问题。因为现在市面上已经好多安卓设备锁屏中已经适配了人脸识别解锁功能,而市面上已经有很多人脸识别的技术了,比如商汤的,face++,还有一些小厂商的等等。

         看过一些人脸识别的处理,发现他们在人脸识别解锁后,并没有处理这一种情况,当你此时锁屏也开启了指纹识别与人脸识别功能,而你在人脸识别解锁成功前先使用指纹识别解锁失败两次,再去人脸识别成功解锁,此时你其实消耗了两次指纹识别的尝试次数,而指纹识别在锁屏会有尝试的次数(一般在6次左右),就会禁止掉指纹的功能,然后多少秒会释放。如果我们使用密码解锁或者指纹解锁成功后,会清楚这些次数,再锁屏的时候会再有6次机会。而我们的人脸识别解锁成功的逻辑中并没有清楚指纹识别次数,因此这里需要我们自己添加这段逻辑,否则会出现在锁屏指纹识别的不统一的情况。市面的上厂商大部分人脸识别也是会清楚指纹识别的,因此我们这里也做一下这个处理吧。

二.分析

         这里其实导致指纹消耗次数未释放是因为人脸解锁后并未主动去释放指纹的消耗的次数的机制,通过对比指纹与密码解锁的方式我们去总结出相应的修改。

         对于密码解锁清楚指纹的尝试次数这块逻辑,请看下本人的另一篇文章:https://blog.csdn.net/WDYShowTime/article/details/100927128

三.修改

1.添加能清楚指纹识别的方法

因为在KeyguardUpdateMonitor类中有FingerManager因此在这里添加更加方便

代码路径如下:

app/src/com/android/keyguard/KeyguardU

猜你喜欢

转载自blog.csdn.net/WDYShowTime/article/details/105019015