小编And*_*rej的帖子

如何在不推荐使用 onActivityResult 的情况下使用 Facebook 登录 CallbackManager?

我正在使用 Facebook 登录选项创建应用程序。到目前为止,我做了所有的事情,但是在 Facebook 应用程序之后的结果有问题。我遵循了 Google 的文档,但该文档并未使用新弃用的 onActivityResult 函数进行更新。现在,我已经使用了从this 的另一个活动中获取结果的新方法。但是,这不适用于 Facebook 登录实现,因为它没有使用 registerForActivityResult 启动器,而是使用自己的回调管理器。

有没有人想出解决这个问题的方法?也许我错过了一些东西。

 callbackManager = CallbackManager.Factory.create()
    signInWithFacebook.setReadPermissions("email", "public_profile")

    signInWithFacebook.registerCallback(
        callbackManager,
        object : FacebookCallback<LoginResult> {
            override fun onSuccess(result: LoginResult) {
                handleFacebookAccessToken(result.accessToken)
            }

            override fun onCancel() {
     
            }

            override fun onError(error: FacebookException?) {
              
            }
        })




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


private fun handleFacebookAccessToken(token: AccessToken) {
    val credential = FacebookAuthProvider.getCredential(token.token)
    auth.signInWithCredential(credential)
        .addOnCompleteListener(OnCompleteListener {
            if (it.isSuccessful) {

            } else …
Run Code Online (Sandbox Code Playgroud)

android facebook

12
推荐指数
1
解决办法
483
查看次数

标签 统计

android ×1

facebook ×1