【问题标题】:Using Android's Fingerprint Scanner for Application使用 Android 的指纹扫描仪进行应用程序
【发布时间】:2015-03-26 10:21:50
【问题描述】:

我需要创建一个扫描指纹并对其进行身份验证的应用程序。我在 Android 网站上找不到任何有关指纹权限的信息。 是否可以将手机的指纹扫描仪用于常规应用程序?如果是这样,它可以存储的指纹数量限制是多少(我更愿意将它们存储在手机本身)

谢谢

【问题讨论】:

  • 你想用什么样的手机?三星 Galaxy S5,...?
  • 不同安卓手机的权限是否不同?测试将在 S5 上进行,是的,但我们希望为所有 android 设备开发
  • 你有生物识别设备的演示吗?

标签: android fingerprint


【解决方案1】:

指纹扫描仪不是 Android 中的一项功能(现在可在 Android M 上使用)

因此,三星、摩托罗拉、HTC 等每家公司都创建了自己的 API 和 SDK 来访问指纹传感器。

例如三星提供了一个 SDK http://developer.samsung.com/galaxy#pass

Pass SDK 允许您在您的设备中使用指纹识别功能 应用。使用 Pass SDK,您可以提供增强的安全性,因为 您可以识别当前用户是否真的是真实的 设备的所有者。

如果您想在您的应用中注册多个用户并检查用户,三星设备无法实现。您只能检查设备的所有者。

我不知道其他公司的SDK。

更新

Android M 有新的指纹 API: https://developer.android.com/about/versions/marshmallow/android-6.0.html#fingerprint-authentication

【讨论】:

    【解决方案2】:

    Android M 预览版引入指纹扫描仪 API。 您可以在此处查看此示例: https://github.com/googlesamples/android-FingerprintDialog/

    【讨论】:

      【解决方案3】:

      我需要类似的功能,我的解决方案是使用外部扫描仪,而不是使用集成指纹扫描仪的设备。有几家公司通过 SDK 提供与手机的集成。您应该在 google 上搜索下一家公司:

      Nitgen:http://www.nitgen.com/eng/product/Hamster3.html#a2

      安全:http://www.secugen.com/products/sdk_pro.htm#android

      战术:http://precisebiometrics.com/smart-card-reader/android/

      在我的情况下,我使用了 Secugen,但请随意使用适合您的解决方案的设备。请注意,此解决方案可以使您的项目更便宜,因为您不需要使用昂贵的手机,手机需要它的唯一功能是具有 USB OTG(On-The-Go)。

      我知道这个解决方案与您所要求的有点不同,但我相信它对您来说也会很有趣。

      【讨论】:

        【解决方案4】:

        您可以选择使用外部指纹扫描仪并能够从您正在注册的人那里注册生物特征指纹,然后继续将生物特征指纹数据和人的详细信息保存在您的 Android 手机中。在我的例子中,我使用了 DigitalPersona 4500 型指纹扫描仪,并使用 Crossmatch API 进行指纹采集。

        如果您想成功地从多个人那里捕获生物特征指纹数据并将其保存在您的 Android 手机中,这实际上是最简单可行的方法。事实上,限制您从不同注册者注册更多生物特征数据的因素是您的 Android 手机/设备的内存大小限制。但是,您可以通过将您的 Android 生物识别身份验证应用程序与您组织的外部 RDBMs 集中式数据库(如 MSSQL、Oracle、MySQL、PostgreSQL 等)集成来轻松规避这一点。

        如果您满意,您可以选择使用Source AFIS API 来轻松实现它。为了获得动力,您可以在 [此处][2] 开发的 [使用外部 USB 指纹扫描仪的 Android 生物识别身份验证][2] 中查看此项目的网页。

        当结果为 MATCH FOUND 和结果为 MATCH NOT FOUND 时,请参阅我在下面附加的指纹验证屏幕截图。我还附上了指纹注册时的屏幕截图。

        我设计了可在各种屏幕尺寸的 Android 手机屏幕上重复使用的用户界面 (GUI),用于指纹登记和指纹认证。无论如何,您都可以设计自己的界面,但在我的情况下,我希望能够在身份验证期间显示人员的指纹,并且我添加了一个 Activity,用于在触发手指触摸事件后交换显示屏上的指纹图像,如果人员将手指放在指纹扫描仪上。

        编码愉快。

        [2]:https://jomutech.com/androidexternalfingerprintscanner/

        【讨论】:

        • 链接无效先生
        【解决方案5】:

        简单的答案是否定的。

        但是您可以通过实现 Android M 中引入的 Google 指纹识别来集成它,它一次仅支持 5 次尝试,如果所有尝试都失败,您的设备指纹读取器将被阻止 30 秒,然后在此持续时间之后您可以进行身份​​验证再次使用指纹。

        例如,您正在使用支持指纹的 2 应用程序(A 和 B)。然后输入 3 个不正确的指纹,然后关闭应用程序 A,然后打开应用程序 B,因此在 30 秒内总共有 5 次尝试可用,因此您的应用程序只能验证 2 次,因为应用程序 A 进行了 3 次尝试,因此在 2 次未经授权的尝试后操作系统会阻止所有应用的阅读器。

        因此,请等待 30 秒,或者如果用户不想等待该时间,请相应地要求用户输入 pin 或密码。

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-23
          • 1970-01-01
          相关资源
          最近更新 更多