Android6.0指纹识别开发过程中遇到的问题

最近在维护一个股票软件,新增加了一个通过指纹识别进行交易登录的功能,这个功能只针对华为,小米,三星等基于Android6.0及以上系统的手机,在开发过程中遇到了一些问题,最后终于解决了,我把它分享出来,供大家参考.

1.android原生系统支持指纹识别是从6.0开始的,如何使用指纹识别的代码百度一大堆,可以参考:http://blog.csdn.net/u011468824/article/details/51437795

2.如果要向下兼容最好是使用:FingerprintManagerCompat manager = FingerprintManagerCompat.from(this),这样在低于6.0的系统上也能运行.

3.原生的指纹识别是识别失败5次之后要等一段时间才能重新启动识别,可以参考:http://www.cnblogs.com/Fndroid/p/5204986.html

4.我使用的是AS开发,当我使用"com.android.support:appcompat-v7:25.+"兼容包的时候,在红米3S手机上不能进行指纹识别,但在华为荣耀8上面却可以.我原以为小米手机有自己的指纹识别SDK,就像三星一样,但在它的开发者平台上面找了半天也没找到相关SDK,后面我把"appcompat-v7"改成23.+的时候居然识别成功了,我不知道这是为什么.我估计是小米的MIUI不支持太高版本的指纹识别.

5.如果要在三星的手机上使用指纹识别功能,就必须要使用它提供的Pass SDK,可以参考:http://developer.samsung.com/galaxy/pass#

可以运行里面Eclipse或AS的demo,再结合实际情况选择一种指纹识别的方式,根据我的测试,最好是选择带弹出框的指纹识别方式,否则有可能识别失败之后,不能再次识别.

三星的指纹识别失败次数好像是可以有几十次,我没详细统计过,它不像原生的只有5次,失败次数达到峰值时,也需要重新启动识别.

以上就是在开发指纹识别的过程中遇到的坑,还好最终把坑填了,由于我只有三台测试机,没有在其它支持指纹识别的手机上测试过,以后出现问题会继续完善,欢迎指正,补充!

你可能感兴趣的:(Android开发)