【问题标题】:Detect if new finger print added or removed in androidx biometric library检测是否在 androidx 生物识别库中添加或删除了新的指纹
【发布时间】:2020-07-09 21:23:38
【问题描述】:

我正在使用以下库进行指纹检测,这是 google 提供的最新库。

implementation 'androidx.biometric:biometric:1.0.0-alpha04'

我已参考以下article 进行实施。在这里,我们没有像在已弃用的 FingerprintManager 中那样传递任何加密对象。类似的question 被问及“KeyPermanentlyInvalidatedException”中的哪些位置有助于检测指纹更改,但我们不一定在最新库中创建任何密码。

如何使用最新的andoridx库检测是否添加了新指纹?

【问题讨论】:

  • “这里我们没有传递任何加密对象” 但是你可以。 BiometricPrompt 有两种不同的authenticate 方法;一个需要CryptoObject,一个不需要。即使没有它,您仍然可以检查KeyPermanentlyInvalidatedException。您需要做的就是使用密钥初始化Cipher。您甚至不必启动身份验证即可执行此操作。另外,请注意,您无法(据我所知)检测到指纹何时被移除,除非它是设备上注册的最后一个剩余指纹。
  • 任何解决方案???

标签: android androidx


【解决方案1】:

这里我们没有传递任何加密对象,例如不推荐使用的 FingerprintManager。

--->在显示生物特征提示时,我们可以传递cryptoObject作为第二个参数。

如何使用最新的andoridx库检测是否添加了新指纹?

---> 此外,我们需要在生成密钥时使用 setInvalidatedByBiometricEnrollment(true),并且密钥在任何新的生物识别注册时都会失效。当您尝试使用相同的密钥时会引发异常。在这种情况下,您可以重置应用内的生物识别应用设置,然后重新开始启用生物识别的过程。

【讨论】:

  • 这真的是您在问题中描述的问题的解决方案吗?如果没有(例如,这只是有关您问题的更多详细信息),请编辑问题以添加信息。
  • 基本上这个问题有两个部分,我已经修改了答案以更好地适应
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-02
相关资源
最近更新 更多