Cognito signUpInBackground обратный вызов не вызывается в Kotlin - PullRequest
0 голосов
/ 29 ноября 2018

Я создаю форму регистрации для мобильного приложения Android в Котлине с помощью Cognito, но у меня возникает проблема, когда я пытаюсь действительно зарегистрировать пользователя.

В документации мы можем увидеть этот примерJava-код для регистрации пользователя:

SignUpHandler signupCallback = new SignUpHandler() {

    @Override
    public void onSuccess(CognitoUser cognitoUser, boolean userConfirmed, CognitoUserCodeDeliveryDetails cognitoUserCodeDeliveryDetails) {
        // Sign-up was successful

        // Check if this user (cognitoUser) needs to be confirmed
        if(!userConfirmed) {
            // This user must be confirmed and a confirmation code was sent to the user
            // cognitoUserCodeDeliveryDetails will indicate where the confirmation code was sent
            // Get the confirmation code from user
        }
        else {
            // The user has already been confirmed
        }
    }

    @Override
    public void onFailure(Exception exception) {
        // Sign-up failed, check exception for the cause
    }
};

userPool.signUpInBackground(userId, password, userAttributes, null, signupCallback);

А вот моя версия в Kotlin:

var signupCallback: SignUpHandler = object : SignUpHandler {

    override fun onSuccess(cognitoUser: CognitoUser, userConfirmed: Boolean, cognitoUserCodeDeliveryDetails: CognitoUserCodeDeliveryDetails) {
        // Sign-up was successful

        // Check if this user (cognitoUser) needs to be confirmed
        if (!userConfirmed) {
            val intent = Intent(this@RegisterUsernameActivity, ConfirmEmailActivity::class.java)
            startActivity(intent)
            // This user must be confirmed and a confirmation code was sent to the user
            // cognitoUserCodeDeliveryDetails will indicate where the confirmation code was sent
            // Get the confirmation code from user
        } else {
            // The user has already been confirmed
        }
    }

    override fun onFailure(exception: Exception) {
        // Sign-up failed, check exception for the cause
        Log.d("ERROR", exception.localizedMessage.toString())
    }
}

userPool.signUpInBackground(username, password, userAttributes, null, signupCallback)

Когда я помещаю логи в случаях успеха и неудач, ничего не печатается, обратный вызов похож на полностьюигнорируются.У вас есть идеи, почему?

РЕДАКТИРОВАТЬ: только что попробовал версию Java, как она задокументирована, и такая же проблема возникает.

1 Ответ

0 голосов
/ 29 ноября 2018

Просто перезагрузил мой компьютер и все заработало ...

...