Samsung Fingerprint Spass Apis
for Androidを使用している間、指紋認証が失敗した場合、ユーザーにパスワードを要求するオプションがありました(正直に言うと、強制されました)。さて、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パスワードが必要です。これは、ユーザーがデバイスのセキュリティ設定の指紋セクションに入るときに入力する必要がある正確なパスワードです。