android - 使用Android的面部识别来验证多个用户

标签 android android-fingerprint-api android-biometric-prompt

我正在寻找创建应用程序来使用面部识别来验证用户。

我检查过 Android 提供生物识别提示来验证用户身份,但我不确定此 API 是否可用于我的用例。另外,如果我可以使用这个 API,手机上可以存储多少面部数据,这些数据存储在哪里?

如果我不能通过面部识别实现我想要的,可以使用指纹认证来完成吗?如果是,一台设备上可以存储多少个指纹?

最佳答案

您可以在有限的设备上保存的人脸图像指纹图像指纹模板的数量会有限制像 Android 设备一样的存储空间容量。截至目前,市场上普通的 Android 设备可能没有超过 32 Gb 的可用存储空间。

如果您打算保留面部图像以备将来使用,并且具有质量特征,面部图像可能会比指纹图像占用更多空间,而指纹图像在存档中占用的存储空间要小得多。

取决于您是想将面部图像还是指纹图像保存为 *.jpg、*.png、*.bmp或任何其他常见的图像格式,图像格式的类型也会影响您将保存的面部图像或指纹图像的数量。例如,*.bmp 图像可能比 *.png 或 *.jpg 文件占用更多空间。

至于指纹图像,您可以将它们进一步处理为指纹模板,您可以从中存档它们的编码文本数据。这不会在您的存储空间中占用太多空间,因为指纹模板将像基于文本的数据一样占用很少的空间,这与保存完整指纹图像时不同。

为了存档从移动设备捕获的生物识别数据,如果您需要更多存储空间,最好将生物识别数据发送到托管云服务器或存储空间比您的移动设备足够的地方的远程计算机。对于大多数基于云的服务器,您可以在应用程序数据存储需要扩展时请求更多存储空间。对于物理远程服务器,您必须安排将硬盘升级到具有更大数据容量的硬盘。

您还可以通过编写在服务器端运行的身份验证代码来简化您的操作,以便您的移动设备专门用于捕获人脸图像或指纹图像并将其发送到远程服务器进行存档和身份验证,然后一旦确定了匹配结果(无论是找到匹配还是未找到匹配),您的 Android 设备就会收到匹配结果并向您的用户报告安卓生物认证应用

您可以考虑让您的 Android 应用程序调用一些网络服务,这些服务会在您捕获面部图像或注册指纹模板后立即将数据发送到您的远程服务器。

关于android - 使用Android的面部识别来验证多个用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57550517/

相关文章:

android - 在生物识别提示中使用时如何确定使用哪个生物识别?

android - 如何使用 Biometric api 使用面部身份验证

android - support.FragmentManager源码中mAdded和mActive的区别

android - 如何使用 TrafficStats 分别统计 2G 和 3G 的数据使用量?

java - AlarmManager 没有在正确的时间关闭

android - 如何识别指纹是从 Android 设备添加/编辑/删除

html - 如何在网页(HTML)中使用指纹API?

android - AlertDialog 窗口大小很大

java - android - 如何在 FIngerPrintHelper 类的主 Activity 中调用扩展 Asynctask 的类

android - 检查用户是否更改了 Android 中的生物识别/指纹