【发布时间】:2019-08-16 14:01:31
【问题描述】:
我在 android 设备中自定义 biometricPrompt 时遇到问题。我只使用指纹授权,但一些具有 android 9.0 的设备(例如三星 Galaxy S10+)授权使用指纹(如果允许)但与面部身份验证相同。如果用户同时允许面部和指纹认证 biometricPrompt 用于认证面部识别。我只需要允许指纹,如果用户不允许指纹但面部是的,我需要阻止它。
文档告诉我这个(来自docs)
...但没有任何指示,我在源代码中找不到任何关于自定义的内容。
我的启动代码身份验证对话框在这里
BiometricPrompt.Builder(context)
.setTitle(biometricBuilder.title ?: "")
.setSubtitle(biometricBuilder.subtitle ?: "")
.setDescription(biometricBuilder.description ?: "")
.setNegativeButton(biometricBuilder.negativeButtonText ?: "",
context.mainExecutor, DialogInterface.OnClickListener { dialogInterface, i -> biometricCallback.onAuthenticationCancelled() })
.build()
.authenticate(CancellationSignal(), context.mainExecutor,
BiometricCallbackV28(biometricCallback))
感谢您的帮助
【问题讨论】:
-
很遗憾,这不受支持。您所指的文档适用于设备制造商,而不是应用程序开发人员。它只是说最终用户应该能够在“设置”应用中手动选择他们喜欢的生物特征。
-
所以当我只想要指纹时无法使用 BiometricPrompt?
-
暂时没有。我在去年 filed an issue 谈到了这个问题,但还没有收到任何有意义的回复。
-
你对这个问题有一些解决方案(首选一次身份验证并阻止第二次)或同时使用(指纹和面部)
-
目前使用
BiometricPrompt时无解析。如果你只想允许指纹,你可以使用FingerprintManager(它已被弃用,但这并不意味着它已被删除)。
标签: android biometrics android-9.0-pie android-fingerprint-api facial-identification