使用androidx BiometricPrompt实现指纹验证功能
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指纹验证内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
.Net Core 下使用ZKWeb.System.Drawing实现验证码功能(图形验证码)
-
Thinkphp5框架使用validate实现验证功能的方法
-
JavaWeb 使用Session实现一次性验证码功能
-
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
-
JS使用正则表达式实现常用的表单验证功能分析
-
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
-
使用 jQuery 实现表单验证功能
-
go使用Gin框架利用阿里云实现短信验证码功能
-
.Net Core 下使用ZKWeb.System.Drawing实现验证码功能(图形验证码)
-
Python使用selenium实现网页用户名 密码 验证码自动登录功能