2017-10-01 11 views

答えて

1

AndroidにはKeyGuardというものがあります。 Keyguardは、基本的に電話機のロック解除を処理するコードを指します。当初はキーパッドを備えた電話機用に開発されました。

Tez、Paytmなどは、Androidで提供されているKeyguard APIを使用してアプリを保護しています。

下記の手順に従ってこれを実装することができます

  1. Androidの認証を実装するためにKeyguardManagerを提供します。

    KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); 
    
  2. 認証を要求する意図を作成します。

    Intent screenLockIntent = keyguardManager.createConfirmDeviceCredentialIntent(title, description); 
    

    ここで、タイトルと説明は、認証中にユーザーに情報を表示するためのものです。このメソッドにはAPIレベル21が必要です。

  3. 認証が成功したかどうかにかかわらず結果を返すstartActivityForResultを呼び出すことができます。

    startActivityForResult(screenLockIntent, LOCK_REQUEST_CODE); 
    

    ロック画面が設定されていないと例外がスローされます。状況を手動で処理する必要があります。

  4. はonActivityResult

    答えを
    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
        if(LOCK_REQUEST_CODE == requestCode){ 
         if (resultCode == RESULT_OK) { 
          //Authentication is successful 
         } else { 
          //Authentication failed 
         } 
        } 
    } 
    
+0

おかげで結果を確認してください。さて、もしこれが実装されているのであれば、それは危険ではないでしょうか? RSAの全体概念はこの解決策に欠けています。 – Sid

+0

@Sidでは、Androidはすべてのセキュリティ面を管理しています。認証が成功したことが分かっている場合にのみ、resultCodeとして 'RESULT_OK'で' onActivityResult'関数を呼び出します。 –

関連する問題