检查逻辑

//是否支持指纹
if (!fingerprintManager.isHardwareDetected()) {return;
}//权限
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.USE_FINGERPRINT) != PackageManager.PERMISSION_GRANTED) {return;
}//是否已经添加过指纹
if (!fingerprintManager.hasEnrolledFingerprints()) {return;
}//是否有锁屏密码
if (!keyguardManager.isKeyguardSecure()) {return;
}

与KeyStore配合使用

Key授权绑定

指纹跟锁屏密码强绑定

指纹没有锁屏码安全,所以操纵指纹需要锁屏码授权指纹能够被复制
"a fingerprint may be less secure than a strong PIN, pattern, or password."
(https://support.google.com/nexus/answer/6300638?hl=en)(需要知道指纹是谁的, 有指纹但没锁屏码->不知道是谁的指纹)操纵指纹需要锁屏码认证

锁屏密码:更安全(其他人无法增删改指纹), miui关闭锁屏密码不会删指纹

android支持的身份标识:锁屏码,指纹

Nexus-6P/Nexus-5X:关闭锁屏密码会删除所有指纹
Miui:关闭锁屏密码不会删除指纹, 但下次打开锁屏密码时有保留指纹的确认
KeyPermanentlyInvalidatedException (Key失效)

使用流程

Request fingerprint authentication permission within the project's AndroidManifest file.Enable any lock screen security mechanism (PIN, pattern or password).Register at least one fingerprint on the device.Create an instance of the FingerprintManager.Use a Keystore instance to gain access to the Android Keystore container.Generate an encryption key using the KeyGenerator class and store it in the Keystore container.Initialise an instance of the Cipher class using the previously generated encryption key.Use the Cipher instance to create a CryptoObject and assign it to the instantiated FingerprintManager.Call the authenticate() method of the FingerprintManager instance.Handle callbacks on completion of a successful authentication, providing access to protected content or functionality.

android的指纹问题相关推荐

  1. android 解锁流程,Android Q 指纹解锁流程

    Android Q 指纹解锁流程 // Authentation Finger Schedule: (close Screen, Authentation with finger(Success)) ...

  2. 简单实现 Android M 指纹识别(附源码)

    众所周知, Android阵营里的指纹兼容真可谓是一团糟, 每个厂家几乎都有一套自己的API, 直到Android M的出现, 才慢慢地走上正途. 那么今天我们就一起来探讨一下, Android M里 ...

  3. Android O指纹识别解析

    版权声明:本文为梦想全栈程序猿原创文章,转载请附上原文出处链接和本声明 前面一片文章--Android Fingerprint完全解析(三) :Fingerprint Hal层分析 Android O ...

  4. Android 设备指纹

    Android 设备指纹 使用FingerprintManagerCompat 使用FingerprintManager FingerprintManagerCompat 官方推荐该方法: 1.获取管 ...

  5. android xml 指纹动画,如何检查设备是否具有指纹功能并在Android中使用

    API 28的最新版本 AndroidManifest.xml文件 现在,您可以使用: val executor = activity.mainExecutor val cancelListener ...

  6. android监控指纹信息变化,android监听指纹变化(解决反射思路在android10不生效的问题)...

    前天偶尔运行代码,一个段异常映入眼帘,我擦android10上反射机制监听不到指纹id等数据了,原因是android10彻底抛弃了之前指纹的api.所以反射不到了. 怎么解决这个问题?我们换个思路当然 ...

  7. android触摸指纹会触发按键功能,Android P新特性:利用触摸指纹识别器能阻止手机息屏...

    设想你正在阅读手机上的文章,突然间显示屏变暗了一点.显然,你设置的30秒或1分钟超时息屏对于常规使用来说还可以,但对于阅读纯文本片段,还远远不够.因此,这时你会轻触屏幕,可能会上下滑动,以防止手机息屏 ...

  8. Android 实现指纹识别demo

    demo链接:https://download.csdn.net/download/meixi_android/10796468 1.指纹工具类: /*** 作者:created by meixi* ...

  9. android华为指纹开发_2020指纹芯片行业市场调研分析报告

    指纹芯片,是指内嵌指纹识别技术的芯片产品,能够片上实现指纹的图像采集.特征提取.特征比对的芯片,开发者可以方便的实现指纹识别的功能,大大降低了指纹识别行业的门槛,对指纹识别的推广具有十分积极的推动作用 ...

最新文章

  1. iOS中常见的图片压缩方法
  2. android中使用jni对字符串加解密实现分析
  3. angular指令监听ng-repeat渲染完成后执行自定义事件方法
  4. 前端学习(1953)vue之电商管理系统电商系统之根据父类数据处理表单中的数据
  5. PHP语言 -- 发起流程
  6. linux date -s_Linux炫技:左手密码生成器,解放右手生产力
  7. sqlserver text最大长度_1156. 单字符重复子串的最大长度
  8. dd-wrt 定时重连 pppoe 更换ip地址
  9. Java同步数据结构之Collection-Queue
  10. linux卸载keystone服务,OpenStack —— 认证服务Keystone(二)
  11. Java 中的枚举 (enum)
  12. 【三维目标检测】PointRCNN(二)
  13. db文件查看工具SQLiteExpert
  14. 写论文的时候发现的几个神奇的网站
  15. Struts2+Spring2+Hibernate3配置(根据尚学堂马士兵老师的授课视频整理)
  16. 如何解决WORD安全模式错误问题
  17. 三重积分平均值_有关研究生考试中高等数学 分级中 “数农”是什么意思?
  18. 《分布式计算云计算与大数据》第一章
  19. 如何使用Nacos实现配置热更新
  20. 面试:JavaScript基础概念

热门文章

  1. 浅浅地谈一下随机算法【poj2454】【poj3318】
  2. 使用Nexus私服代理其他maven仓库(jitpack、jcenter)
  3. Windows 2003 Server服务器上IIS发布网站具体步骤
  4. 随机发送n位数字+字母的验证码
  5. 【6.1】python中的变量是什么
  6. HDU 4912 Paths on the tree(LCA+贪心)
  7. CF617E. XOR and Favorite Number
  8. LeetCode 250. Count Univalue Subtrees
  9. 【顶】Asp无组件生成缩略图(1)
  10. 好长时间没有到博客园来看看了