0

だから私はアンドロイドで設定されたawsコグニートがあります。そして私は、ユーザーがユーザー名を入力したとき、そのユーザー名が私のコグニートプールに存在していないことを確認するチェックをしたい。 cognitoUserはちょうど私が入れ何に設定されます、それはバックチェックでは行かない、cognito-androidで既存のユーザーを確認するにはどうすればいいですか?

cognitoUser = userPool.getUser(username_ET.getText().toString()); 
if(cognitoUser.getUserId().isEmpty()) 
{ 
     //Great, this is a new user. 
} 

しかし:

は現在、私はこれを持っています。

誰かが助けてくれることを願っています!

答えて

1

存在しないユーザー名でサインインしようとすると、UserNotFoundException例外が発生します。

+0

うん、私はすでにそれを取得します。この行では、 'userPool.signUpInBackground(username_ET.getText()。toString()、password_ET.getText()。toString()、userAttributes、null、signupCallback);'私はtry/catchを入れようとしました。例外をログアウトしません。それはちょうど試しを実行し、キャッチするつもりはありません。あなたはその例外をどのようにログアウトしますか? – TheQ

+0

すべての例外がコールバック(onError)を介して渡されると、try、catchブロックを使用して例外を取得できないことがあります。 –

+0

ああ、そんなにばかげて、すみません。わかった! – TheQ

-1

私の質問への答えは次のとおりです。

 SignUpHandler signupCallback = new SignUpHandler() { 

      @Override 
      public void onSuccess(CognitoUser cognitoUser, boolean userConfirmed, CognitoUserCodeDeliveryDetails cognitoUserCodeDeliveryDetails) 
      { 
       Log.d(COGNITO_REGISTER, "sign up succeeded!"); 

      } 
      @Override 
      public void onFailure(Exception exception) 
      { 
       Log.d(COGNITO_REGISTER, "sign up failed!"); 
       Log.d(COGNITO_REGISTER, exception.getMessage()); 

       // Sign-up failed, check exception for the cause 
      } 
     }; 
     userPool.signUpInBackground(username_ET.getText().toString(), password_ET.getText().toString(), userAttributes, null, signupCallback); 
関連する問題