和你一起终身学习,这里是程序员Android
经典好文推荐,通过阅读本文,您将收获以下知识点:
一、指纹类概述
二、指纹类权限
三、指纹类详细介绍
四、指纹使用实战
官方的指纹识别在Android 6.0引入,Android 6.0之前指纹识别由厂商自己定义。所以Android 6.0之前的指纹识别碎片化严重。
一、指纹类概述
1.FingerprintManager
:Android 6.0引入,Android 9.0 废弃。使用时需加入权限:permission USE_FINGERPRINT
注:包含检查是否支持指纹,指纹比对是否成功等。支持包中的FingerprintManagerCompat
类对其作了包装和兼容处理。不做详细介绍
2.BiometricManager
:Android 9.0引入。其不仅包含指纹识别,还包含人脸识别等其他验证方式。
其主要功能为:检查当前设备是否具有指纹识别的条件,例如:设备是否具有指纹识别的硬件,指纹是否已经录入,硬件是否可用等。
需要配合权限permission USE_BIOMETRIC
使用
注:目前,该类只有指纹识别的相关API,以后可能会加入人脸识别等其他生物识别的相关API。
推荐使用AndroidX支持库中的类,其已经对Android 6.0-Android 11做了兼容性处理:
在Android 9 版本和之前版本中会调用
FingerprintManagerCompat
在Android 10 版本开始会调用框架层
BiometricManager
3.BiometricPrompt
:
其主要功能为:发起指纹验证
需要配合权限permission USE_BIOMETRIC
使用
4.BiometricPrompt.PromptInfo
:
其主要功能为:验证对话框
通过其内部类BiometricPrompt.PromptInfo.Builder
,采用创造者模式配置对话框。仅能配置少量参数,例如:标题,副标题等。这意味着:
1.不分Android版本,对话框的样式统一
2.无法自定义对话款样式
二、指纹类权限
permission USE_FINGERPRINT
:使用FingerprintManager
及FingerprintManagerCompat
类进行指纹识别时,需获取此权限。
此权限为:Normal Permission
permission USE_BIOMETRIC
:使用BiometricManager
等类进行指纹识别时,需获取此权限。当使用AndroidX支持库中的
BiometricManager
时候不需要声明此权限,因为支持库中已经添加此权限