Android 指纹识别(给应用添加指纹解锁)

使用指纹

需要知道的

  • FingerprintManager : 指纹管理工具类
  • FingerprintManager.AuthenticationCallback :使用验证的时候传入该接口,通过该接口进行验证结果回调
  • FingerprintManager.CryptoObject: FingerprintManager 支持的分装加密对象的类

如何使用指纹

  • 开始验证 ,系统默认的每段时间验证指纹次数为5次 次数用完之后自动关闭验证,并且30秒之内不允行在使用验证

验证的方法是authenticate()

arg1: 用于通过指纹验证取出AndroidKeyStore中key的值
arg2: 系统建议为0

arg3: 取消指纹验证 手动关闭验证 可以调用该参数的cancel方法

arg4:返回验证结果

arg5: Handler fingerprint 中的
消息都是通过handler来传递的 如果不需要则传null 会自动默认创建一个主线程的handler来传递消息

使用指纹识别的条件

  • 添加权限(这个权限不需要在6.0中做处理)
  • 判断硬件是否支持
  • 是否已经设置了锁屏 并且已经有一个被录入的指纹
  • 判断是否至少存在一条指纹信息

通过零碎的知识完成一个Demo

这里写图片描述

指纹识别通过之后跳转到 指定页面

进入之后首先弹出对话框,进行指纹验证

使用DialogFragment 完成对话框 新建一个DialogFragment 并且初始化相关的api

在界面显示在前台的时候开始扫描

在不可见的时候停止验证

在MainActivity 中首先判断是否验证成功 是 跳转到目标页 否则的话需要进行验证
在这个过程中我们需要做的就是判断是否支持,判断是否满足指纹验证的条件(条件在上面)

验证条件

必须生成一个加密的key 和一个Cipher对象

Demo 是kotlin 写的
Demo地址

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年8月3日
下一篇 2018年8月3日

相关推荐