如何在Android + Kotlin上使用AWS Amplify登录用户?

时间:2019-01-19 12:06:45

标签: android amazon-web-services kotlin aws-amplify

我正在尝试使用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.

我记得这段代码在圣诞节假期之前有效,所以我认为这可能是亚马逊方面的一个变化,但是我在文档中什么都没找到。

您对这里的问题有任何想法吗?

0 个答案:

没有答案