我正在尝试使用AWS Amplify在Kotlin上的Android屏幕上制作一个带有登录屏幕的Android应用,这是我的登录代码:
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 here的文档,将在“登录”一章中找到的代码块复制并粘贴到了Android Studio中,该代码自动将Java代码转换为Kotlin。
使用日志,我看到当我按下登录按钮时,上面的代码已执行,但是从未调用onResult
块。日志仅打印来自AWS sdk的D/AWSMobileClient: Sending password.
。
我记得这段代码在圣诞节假期之前有效,所以我认为这可能是亚马逊方面的一个变化,但是我在文档中什么都没找到。
您对这里的问题有任何想法吗?