从API 29 即 Android 10 开始,系统为第三方应用提供了通过生物识别验证用户是否为本人的功能,实现也比较简单
因为在进行生物识别时,系统会禁止本应用截图,录屏也会是黑屏,所以借用官方文档中的图
首先要使用生物识别需要判断系统版本
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
//使用生物识别
}else{
//不使用生物识别
}
声明权限
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
创建对象
整个流程基本涉及三个对象
BiometricPrompt为生物识别的对话框,通过Builder的build()方法创建,通过authenticate方法显示
CancellationSignal为主动取消生物识别的标识,在需要主动取消生物识别(关闭对话框)的时候,需要调用CancellationSignal的cancel()方法。重复显示对话框时不能复用同一个CancellationSignal,否则会抛出异常
AuthenticationCallback是验证结果的回调,包括验证成功、失败、取消等
//创建一个生物识别的对话框,
biometricPrompt=