【问题标题】:How to know which finger is scanned for bio-metric?如何知道哪个手指被扫描进行生物识别?
【发布时间】:2019-01-02 12:26:18
【问题描述】:

我的要求是扫描手指并根据手指将用户导航到 android 中的特定页面

说明

注册用户会为不同的功能提供不同的指纹

例如:

  1. 用户可以使用左手食指导航到登录页面

  2. 要导航到关于我们页面,用户可以使用右手食指

对于每个指纹,我必须根据用户的意愿重定向到不同的页面。为此,我检查了这些link1link2 等等,但我无法实现。谁能给点建议...

【问题讨论】:

  • Fingerprint API 不能这样工作。它只会让您知道正在扫描的指纹是否已在手机上注册以进行身份​​验证,而不会提供有关使用哪个手指的更多信息。
  • Thnq Michael,如果添加任何新指纹,您有什么想法可以触发吗?我试过 KeyPermanentlyInvalidatedException 但它没有触发
  • 据我所知,Android 不会宣布何时添加新指纹。您只能根据现有已保存指纹的数据库查询当前在扫描仪上的指纹。
  • @MichaelDodd 谢谢你:-)
  • 我找到了一个可能有用的替代方案。请参阅我的更新答案。

标签: android biometrics android-fingerprint-api


【解决方案1】:

您所要求的是不可能的,至少不使用 Android 的指纹 API。 FingerprintManager 类用作访问Android keystore system 中先前存储的指纹的一种方式

用户身份验证授权与一个密钥关联的特定加密操作。在这种模式下,涉及此类密钥的每个操作都必须由用户单独授权。目前,此类授权的唯一方式是指纹认证:FingerprintManager.authenticate。如果至少注册了一个指纹,则只能生成或导入此类密钥(请参阅FingerprintManager.hasEnrolledFingerprints)。一旦注册了新指纹或取消注册所有指纹,这些密钥将永久失效。

FingerprintManager 类本身只有一种身份验证方法authenticate(),它确定扫描的指纹是否为设备所知。在 API 28 中,这已被弃用,取而代之的是 BiometricPrompt,它的作用几乎相同。

简而言之,不。您需要使用外部指纹扫描仪并根据外部硬件提供的功能推出自己的解决方案。

编辑作为替代选项,您可以使用 FingerprintGestureController 检测指纹传感器上的滑动,但同样,这不会检测传感器上正在使用哪个手指。

【讨论】:

    猜你喜欢
    • 2012-05-26
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多