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)
}
我正在向我的应用程序添加社交登录(我正在学习在 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)
}