Skip to content

liyuhaolol/FingerprintUtils

Repository files navigation

上传于mavencentral

  • groovy
implementation 'io.github.liyuhaolol:FingerprintUtils:1.0.4'
  • kotlin
implementation("io.github.liyuhaolol:FingerprintUtils:1.0.4")

注意以下几个问题,避免开发出现预料外的情况

  • 1,指纹识别Api是从SDK23,Android6添加,框架已经做了SDK低版本检测判断,避免闪退。所以本框架随手写的最低版本为SDK19,Android4.4(真的还有人用这个版本为最低版本开发么?😅)。但是UI上的所有相关布局需要开发人员手动检查是否存在生物识别硬件后,再决定是否显示,比如:App是否显示支持指纹识别功能。
  • 2,虽然生物识别Api是从SDK28,Android9添加,但是相关硬件兼容判断Api到了SDK29,Android10才完善,所以本框架选择最简单最无脑的方式,就是如果启用生物识别,则仅在Android10以上的设备启用,Android9的设备仅会执行指纹识别的相关逻辑。
  • 避免有人不知道指纹识别和生物识别的区别这里就科普一下:指纹识别,仅仅校验指纹硬件模块相关逻辑。生物识别包括:指纹识别,3D结构光识别,虹膜识别等所有支付级别的"生物识别"硬件模块,不包含手机的软件"人脸识别"
  • 3,所以本框架默认只会启用指纹识别逻辑,至于是否要使用生物识别,框架留有开关给开发者设置。如果项目要求仅使用"指纹识别",请一定不要启动"生物识别",避免出现你不想看到的情况。比如:打开指纹识别后,系统拉起的却是3D结构光。
  • 4,指纹识别模块,由于谷歌并没有给出一个统一的UI,所以一般来说验证的弹窗UI是开发人员自行添加的,框架会预留位置。
  • 5,如果启用了生物识别,生物识别API本身并不能判断手机当前到底是使用了哪种识别方式,所以各厂商都写了系统默认的验证弹窗UI,所以启用生物识别后,生物识别不会响应开发者写的任何弹窗布局,只会按照系统默认弹窗UI显示。就算生物识别的硬件里只有指纹,UI也只会响应系统默认UI,需要注意。

所以如果项目要求不明确,产品毛都不懂就会提需求。开发人员最开摆且不会有错的写法就是minSDK = 29且直接开启生物识别,一切后续认证操作UI逻辑全部交给系统,我们就看个结果。摆~