Я пытаюсь создать приложение для Android с экраном входа на Android в Kotlin, используя AWS Amplify, вот мой код входа:
AWSMobileClient.getInstance().signIn(username, password, null, object : Callback<SignInResult> {
override fun onResult(signInResult: SignInResult) {
runOnUiThread {
Log.d("DEBUG", "Sign-in callback state: " + signInResult.signInState)
when (signInResult.signInState) {
SignInState.DONE -> Log.d("DEBUG", "Sign-in done.")
SignInState.SMS_MFA -> Log.d("DEBUG", "Please confirm sign-in with SMS.")
SignInState.NEW_PASSWORD_REQUIRED -> Log.d("DEBUG", "Please confirm sign-in with new password.")
else -> Log.d("DEBUG", "Unsupported sign-in confirmation: " + signInResult.signInState)
}
}
}
override fun onError(e: Exception) {
Log.e("DEBUG", "Sign-in error", e)
}
})
Я использовал документацию Amazon здесь , скопировал и вставил блок, найденный в главе «Вход в систему», в Android Studio, которая автоматически конвертировала код Java в Kotlin.
Используя журналы, я вижу, что мой код выше этого выполняется, когда я нажимаю кнопку входа в систему, но блок onResult
никогда не вызывается. В журналах печатается только D/AWSMobileClient: Sending password.
из AWS sdk.
Я помню, что этот код работал до рождественских каникул, поэтому я думаю, что это может быть изменение на стороне Amazon, но я ничего не нахожу в документации.
Ты хоть представляешь, что здесь не так?