2016-06-16 17 views
0

Androidの場合はSamsung Fingerprint Spass Apisを使用していましたが、指紋認証が失敗した場合、パスワードを尋ねるオプションがありました。 Android MがネイティブのFingerPrint APIを提供したとき、私は同じ機能を達成する方法を見つけることができません。 問題点は、ユーザーが正しい指紋を5回入力しなかった場合、FingerprintManagerからFINGERPRINT_ERROR_LOCKOUTエラーコードが出てきましたが、バックアップパスワードとどのようなAndroidコンポーネントが対応しているのかわかりません。すべてのアンドロイドの専門家をしてくださいありがとう。ここに私のコールバック関数ピースは次のとおりです。Androidの指紋API - 指紋のパスワードを尋ねると失敗しました

@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パスワード、正確なパスワードが必要です。

答えて

2

あなた自身で行う必要があります。ここでの例を参照してください:

https://github.com/googlesamples/android-FingerprintDialog/blob/master/Application/src/main/java/com/example/android/fingerprintdialog/FingerprintAuthenticationDialogFragment.java

のonError()メソッドでは、それはパスワードダイアログにダイアログを変更しますgoToBackupメソッドを呼び出します。

私はサムスンがやった方法とあなたの意図は分かりませんが、現在のAndroid Fingerprint APIは他のデバイス認証にフォールバックできないので、自分でフォールバックする必要があります(第2の箇条参照):

https://developer.android.com/training/articles/keystore.html#UserAuthentication