Androi指纹识别学习

指纹识别是在Android 6.0之后新增的功能,因此在使用的时候需要先判断用户手机的系统版本是否支持指纹识别,只

有硬件和软件版本支持指纹识别,才能进行指纹识别操作。最近项目需要指纹识别方面的功能,提前做了个预研,写了

个demo,但发现这块也是有坑的。废话不多说直接撸码,高手勿喷。

根据Android自带API中提供了FingerprintManager 类,顾名思义这个类是用来管理指纹和指纹识别的。但是普通应用

能够使用的方法却不多,先说普通第三方应用,通过authenticate方法来验证指纹是否合法,这个方法中主要关注

AuthenticationCallback这个参数的回调。其中

AuthenticationCallback会有几个方法需要关注:

onAuthenticationError:指纹识别失败,当系统调用了onAuthenticationError()再次调用

authenticate()方法后才能继续使用指纹识别功能。

onAuthenticationHelp :指纹识别的提示,比如一些手指移动过快或者其他的原因导致的问题,

这个方法中会有一个helpcode值,根据这个值来处理即可。

onAuthenticationSucceeded: 指纹识别成功,携带参数AuthenticationResult,该参数中会带

有一个Fingerprint对象,但是普通应用调用的时候该对象为空,这都是后话。

onAuthenticationFailed :指纹验证通过,认为该交互式一个指纹,但不是合法指纹,也就是

指纹库中没有该指纹。这几个方法都是普通应用经常使用的,开发基本够了。

再赘述几点:

1.关于onAuthenticationSucceeded方法中回传回来的AuthenticationResult所携带的Fingerprint

为什么为空,是因为普通应用没有权限。FingerprintService做了明确的控制


这个地方曾经入坑了,后来一想还是自己不够敏感,指纹这种东西不是普通应用所能访问的。

2.指纹存储在data/system/usets/0/fpdata目录下,一般存的是指纹的模板,不是图像。

3.谷歌原生的Nesus6P目前支持单一指纹多次录入,就是录入食指后又可以添加食指指纹,存

在两个食指指纹。这种情况在部分需要确定是哪个手指的场景下会有问题。就目前所知需要指

纹厂商修改指纹存储策略。或者有人知道在上层代码可以控制的话,也可以告诉下。上面只是

预研的时候一些小总结,具体实现在demo可以查看。

源码地址


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
### 回答1: Android指纹识别开发可以使用Android操作系统提供的Fingerprint API来实现。开发者可以在应用中使用这些API来构建指纹识别功能,包括指纹认证和指纹验证。使用这些API还可以创建自定义指纹认证界面。 ### 回答2: Android指纹识别开发是指在Android应用中集成和利用设备的指纹识别功能。指纹识别作为一种生物识别技术,已经得到广泛应用,可以用于增加安全性和方便性,特别是在支付、解锁和身份验证等方面。 要进行Android指纹识别开发,首先需要了解Android系统对于指纹识别的支持。从Android 6.0(API Level 23)开始,Android提供了一套指纹API,开发者可以使用该API与设备上的指纹传感器进行交互。指纹API提供了用于管理指纹硬件和进行指纹验证的功能。 在开发过程中,首先需要在AndroidManifest.xml文件中声明指纹识别的权限。接下来,可以使用FingerprintManager类来管理和操作指纹传感器。可以通过调用authenticate()方法进行指纹验证,并在验证结果回调中获取验证结果。 除了指纹验证之外,还可以在应用中利用指纹识别功能进行更高级的操作。例如,可以使用FingerprintManager类的hasEnrolledFingerprints()方法来判断设备上是否已经注册了指纹,以此决定是否显示指纹识别相关的功能。 为了提供更好的用户体验,可以使用BiometricPrompt类来构建更友好的指纹识别界面。BiometricPrompt类提供了标准化的指纹识别对话框,可以自动适配设备的指纹传感器,并提供一致的用户界面和交互方式。 总而言之,Android指纹识别开发为应用提供了更高级别的安全性和身份验证方式。开发者可以通过使用指纹API和相关类来集成和利用设备上的指纹识别功能,增加应用的安全性和便利性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值