Activity 结果崩溃,Android Studio,Kotlin

Activity ResultCrash, Android Studio, Kotlin

我正在向我的应用程序添加社交登录(我正在学习在 Kotlin 中为 android 编码)我有 Facebook 登录和 Twitter 登录,但我必须在 ActivityResult 中注释掉一个或另一个。有没有办法让两者都取消注释。

 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)

    // Pass the activity result back to the Facebook SDK
    callbackManager.onActivityResult(requestCode, resultCode, data)
    loginButton!!.onActivityResult(requestCode, resultCode, data)
}

第一个是facebook,第二个是Twitter。

使用不同的 requestCode,例如:

companion object {
    private const val CODE_FB = 100
    private const val CODE_TWITTER = 101
}

当您 startActivityForResult() 用于 Facebook 时传递 CODE_FB,并使用 CODE_TWITTER 用于 Twitter。

在您的 onActivityResult() 中,按请求代码过滤:

when (requestCode) {
    CODE_FB -> callbackManager.onActivityResult(requestCode, resultCode, data)
    CODE_TWITTER -> loginButton!!.onActivityResult(requestCode, resultCode, data)
}