Android 人脸识别解锁具体是怎么工作的?

Android 人脸识别解锁具体是怎么工作的?,第1张

工具/原料

安卓手机

人脸识别解锁

方法/步骤

1

进入手机设置,方式有点击手机功能键,也可以在手机找到一个如图的设置图标。点击进入手机设置。

在设置里有很多选项, 可能新手会看晕,你只需要查找到与安全字眼有关的,点击进入看看,若不是再返回再找找。

进入手机安全选项设置,选择屏幕安全保护或有一些手机叫“锁定屏幕”。

选择屏幕保护的密码类型,可以是图案九宫格,也可以是数字、人脸组合。

点击人脸解锁进入人脸识别解锁屏幕功能设置界面。进入这个界面下面的 *** 作所有的手机基本都一样了。

在上一步中了解一下人脸识别解锁屏幕功能需要注意的地方。光线,平视。

当围绕脸部一圈的小圆点都点亮了,就捕获面部图像成功。

为了人脸解锁失败进不了手机,还可以选择备份解锁。可骒图案九宫格,可以数字密码。

输入数字密码。点击下一步。

再次输入,点击继续。

大功造成了。现在可以将你的手机关屏,然后再开屏,则会激活你的前置摄像头,对正你的头可以进行人脸识别解锁屏幕了。

  1. 6.0+

  2.手机里至少要有一个已经录入的指纹

  需要指纹权限:<uses-permissionandroid:name="android.permission.USE_FINGERPRINT"/>

人脸识别可以引入虹软的sdk

  主要介绍一下FingerprintManager类,提供类三个方法

第一个方法:启动指纹识别

第二个方法:判断手机里面是否有已经有录入的指纹(至少得有一个)

第三个方法:判断手机是否有指纹感应区(硬件支持)

这里需要注意一下,FingerprintManager对象的isHardwareDetected()方法和hasEnrolledFingerprints()方法需要API级别为23及以上,如果你的API级别小于23,那就得加上@TargetApi(23)

  1.FingerPrintManager.AuthenticationCallback:

 在验证时传入该接口,通过该接口来返回验证指纹的结果

 2.FingerPrintManager.AuthenticationResult:

 当指纹验证正确时,接口里返回的参数

 3.FingerPrintManager.CryptoObject:

 由FingerPrintManager支持的封装加密对象的类

我们将指纹识别的CallBack绑定到FingerprintManager中,以获得指纹识别的结果。这就得引入上面图片中FingerprintManager的第一个方法:

public void authenticate(FingerprintManager.CryptoObject crypto,CancellationSignal cancel,int flags,FingerprintManager.AuthenticationCallback callback,Handler handler)

可以看到,这个方法中传递了一个AuthenticationCallback,用于获取指纹识别结果 ,传递了一个CancellationSignal。至此,指纹识别已经开启了。

取消指纹识别很简单,authenticate方法中的第二个参数是一个CancellationSignal对象,这个对象就是用来维护取消 *** 作的,这些 *** 作包括取消监听和设定取消回调等。所以,如果要取消,这个参数就不能传Null。

取消指纹识别 mCancellationSignal.cancel()

取消之后会执行的方法是onAuthenticationError()

1.使用密码登录成功后,去判断设备是否支持指纹/人脸登录,如果支持可以让用户自行选择后续是否需要指纹/人脸登录

2.判断用户指纹/人脸验证是否成功

3.生成加密字符串 可以用sp存储

4.指纹/人脸登录时验证上次加密的字符串

相应的流程图


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11644414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存