欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用androidx BiometricPrompt实现指纹验证功能

程序员文章站 2022-06-17 11:02:59
androidsdk版本大于29之后,使用fingerprintmanagercompat进行指纹验证显示被废弃,fingerprintmanagercompat的使用方法这里不再叙述。骨骼要求使用新...

androidsdk版本大于29之后,使用fingerprintmanagercompat进行指纹验证显示被废弃,fingerprintmanagercompat的使用方法这里不再叙述。骨骼要求使用新的api去完成指纹验证,当然,biometricprompt不仅能做指纹验证,本文只讲解怎么用biometricprompt做指纹验证。
官方api:https://developer.android.google.cn/reference/androidx/biometric/package-summary?hl=zh-cn

首先导包

然后它的构造方法

两个构造方法参数基本一致,executor里面是一个runnable接口,在每次进行指纹操作后都会回调这个方法,注意:要想authenticationcallback的方法生效,必须在runnable里面执行runnable的run方法。
callback里面有三个回调方法,
1. onauthenticationerror(int errmsgid, charsequence errstring),指纹验证错误会调用此方法,errmsgid的值对应biometricprompt里面的常量
2. onauthenticationsucceeded(@nonnull @notnull biometricprompt.authenticationresult result),指纹验证成功后调用,通过result.getauthenticationtype获取验证成功的方式,参数类型自行查看。
3. onauthenticationfailed() 识别失败调用,具体调用时机不太清楚。。可以参考官方文档说法

显示指纹验证需要一个biometricprompt.promptinfo参数,会弹起一个弹窗进行显示,使用builder的方式初始化,可以设置title,subtitle,description,negativebuttontext,用法如下

需要注意的是setdevicecredentialallowed与setnegativebuttontext只能存在一个,即setnegativebuttontext不为空setdevicecredentialallowed必须为false
验证设备是否开启指纹通过biometricmanager.from(context).canauthenticate() == biometricmanager.biometric_success方法;
代码展示:

到此这篇关于使用androidx biometricprompt实现指纹验证的文章就介绍到这了,更多相关androidx指纹验证内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!