带有自定义密码的生物识别提示
BiometricPrompt with custom password
我目前正在使用 BiometricPrompt (androidx.biometric:biometric:1.0.0-rc01
) 实施 AppLock
有一个使用设备密码的选项.setDeviceCredentialAllowed(true)
。
But I was wondering if there is a way to use this library with custom password (not from system)?
提前致谢。
But I was wondering if there is a way to use this library with custom password (not from system)?
不,抱歉。那超出了BiometricPrompt
的范围。如果您希望使用设备身份验证作为应用专用密码的第二个因素,您将需要自己实施应用专用密码。
也许不完全是您的要求,但如果您希望用户可以选择使用生物识别技术或应用程序密码(应用程序而不是设备),您可以执行以下操作。
在你的 onClick 侦听器中
if (BiometricManager.from(application).canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS) {
biometricPrompt.authenticate(promptInfo, cryptoObject)
} else {
loginWithAppPasswordFragment() // use this to show a DialogFragment
}
更新
following blog post 演示了如何使用帐户密码和生物识别技术。
要设置允许使用应用专用密码的身份验证,您可以执行如下操作:
在BiometricPrompt.PromptInfo.Builder
, specify setNegativeButtonText(String)
to be something like Use password
. Then, in the onAuthenticationError(int errorCode, CharSequence error)
callback (which is invoked when the user presses the use password
button), check for errorCode == ERROR_NEGATIVE_BUTTON
。在这里,您可以实施您的应用程序密码检查。根据您的设计,它的范围可以从简单的设备上比较到复杂的东西,例如涉及 public/private 键的 server/client 检查等
我目前正在使用 BiometricPrompt (androidx.biometric:biometric:1.0.0-rc01
) 实施 AppLock
有一个使用设备密码的选项.setDeviceCredentialAllowed(true)
。
But I was wondering if there is a way to use this library with custom password (not from system)?
提前致谢。
But I was wondering if there is a way to use this library with custom password (not from system)?
不,抱歉。那超出了BiometricPrompt
的范围。如果您希望使用设备身份验证作为应用专用密码的第二个因素,您将需要自己实施应用专用密码。
也许不完全是您的要求,但如果您希望用户可以选择使用生物识别技术或应用程序密码(应用程序而不是设备),您可以执行以下操作。
在你的 onClick 侦听器中
if (BiometricManager.from(application).canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS) {
biometricPrompt.authenticate(promptInfo, cryptoObject)
} else {
loginWithAppPasswordFragment() // use this to show a DialogFragment
}
更新
following blog post 演示了如何使用帐户密码和生物识别技术。
要设置允许使用应用专用密码的身份验证,您可以执行如下操作:
在BiometricPrompt.PromptInfo.Builder
, specify setNegativeButtonText(String)
to be something like Use password
. Then, in the onAuthenticationError(int errorCode, CharSequence error)
callback (which is invoked when the user presses the use password
button), check for errorCode == ERROR_NEGATIVE_BUTTON
。在这里,您可以实施您的应用程序密码检查。根据您的设计,它的范围可以从简单的设备上比较到复杂的东西,例如涉及 public/private 键的 server/client 检查等