Activity ResultCrash, Android Studio, Котлин - PullRequest
0 голосов
/ 01 декабря 2018

Я добавляю социальные приложения для входа в свое приложение (я изучаю кодирование для Android в Kotlin) У меня есть вход в 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.

1 Ответ

0 голосов
/ 01 декабря 2018

Используйте разные requestCode s, что-то вроде:

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

Pass CODE_FB, когда вы startActivityForResult() для Facebook, и используйте CODE_TWITTER для Twitter.

Внутри вашегоonActivityResult(), фильтр по коду запроса:

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