代码之家  ›  专栏  ›  技术社区  ›  Tony Merritt

Activity ResultCrash,Android Studio,Kotlin

  •  0
  • Tony Merritt  · 技术社区  · 5 年前

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

    2 回复  |  直到 5 年前
        1
  •  2
  •   TheWanderer    5 年前

    使用不同的 requestCode

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

    通过 CODE_FB startActivityForResult() 用于Facebook,并使用 CODE_TWITTER 对于Twitter。

    onActivityResult() ,按请求代码进行筛选:

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