在为 Android 使用三星Fingerprint Spass Apis
时,如果指纹认证失败,我可以选择(老实说我被迫)询问用户密码。现在,当 Android M 为我们提供原生FingerPrint
API 时,我无法找到实现相同功能的方法。问题是:如果用户未能提供正确的指纹 5 次,我FINGERPRINT_ERROR_LOCKOUT
从 得到错误代码FingerprintManager
,但我不知道如何使用备份密码引发对话框以及负责此操作的 Android 组件。请问'任何android专家?谢谢。这是我的回调函数片段:
@Override
public void onAuthenticationError(int errorCode, CharSequence errString) {
logger.info("Authentication error " + errorCode + " " + errString);
super.onAuthenticationError(errorCode, errString);
//5 failed attempts
if (errorCode == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT) {
//HERE SAMSUNG WAS RAISING PASSWORD DIALOG WITHOUT MY INTERVENTION
fingerprintCallback.onFinished(FingerprintCallback.STATUS_AUTHENTIFICATION_FAILED);
//30 seconds no one touched the sensor
} else if (errorCode == FingerprintManager.FINGERPRINT_ERROR_TIMEOUT) {
fingeprintCallback.onFinished(FingerprintCallback.STATUS_TIMEOUT_FAILED);
//cancellation signal cancel() was called
} else if (errorCode == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
if (!isTimeout) {
fingerprintCallback.onFinished(FingerprintCallback.STATUS_USER_CANCELLED);
}
} else {
fingerprintCallback.onFinished(FingerprintCallback.STATUS_FAILED);
}
if (fingerprintDialog != null) {
fingerprintDialog.dismiss();
}
}
需要明确的是 - 我需要手机的 PIN 密码,即用户在进入设备安全设置中的指纹部分时需要输入的确切密码。