【发布时间】:2020-01-10 07:37:08
【问题描述】:
我有一个具有 PIN/锁定屏幕的应用程序。为了打开应用程序,用户需要输入他的 PIN 码(他之前在应用程序中设置的)。
我想添加生物识别选项 -> 无需输入 PIN,只需放置您的指纹即可。 但是,您仍然可以选择使用 PIN 作为后备。与 Revolut、LastPass 或许多其他银行应用程序完全相同。很简单,对吧?
我查看了新的生物识别 API,它不支持回退到自定义 pin/密码(仅回退到锁定屏幕)。我可以以某种方式手动添加(当用户取消对话框时),但这会产生糟糕的用户体验(从 Google 样式对话框切换到应用程序样式屏幕)。此外,谷歌对话框有一个透明的背景(可能会泄露敏感信息),所以我需要把它放在一个单独的空白活动中(同样糟糕的体验)。我想知道银行应用程序打算如何迁移到那里?
我应该使用旧方法(FingerprintManager)吗?回退到设备锁定是否足够安全?如果有人知道您的手机 PIN,他就可以访问您的所有应用程序。
【问题讨论】:
-
我认为 WhatsApp 的实现方式很好。 “但是,您仍然应该可以选择使用 PIN 作为后备。” - 这完全取决于您正在构建的应用程序。如您所知,Whatsapp 没有我认为是安全问题的后备选项。他们必须以自定义方式实现它,而不是使用谷歌生物识别 API。屏幕已满,这对您来说是个优势,因为您不想在后台显示敏感信息。
-
“我可以以某种方式手动添加(当用户取消对话框时),但这会导致用户体验不佳(从 Google 样式对话框切换到应用样式屏幕)。” 对我来说听起来很可取。如果 UI 看起来像正常的设备锁定屏幕,用户可能会认为他们应该输入设备解锁 PIN 而不是应用 PIN。
-
@rafakob “我可以以某种方式手动添加(当用户取消对话框时),但这会导致用户体验不佳(从 Google 样式对话框切换到应用样式屏幕)。” 我想做同样的事情,但我担心的是,在检查
onAuthenticationError中的errorCode == ERROR_NEGATIVE_BUTTON时,我是否需要创建自己的 DialogPopUp,其中包含电子邮件/用户名和密码编辑文本?
标签: android android-fingerprint-api android-biometric-prompt