如何使用fabric从twitter webview中检索登录回调

Posted

技术标签:

【中文标题】如何使用fabric从twitter webview中检索登录回调【英文标题】:How to Retrieve Login Callback from twitter webview using fabric 【发布时间】:2016-04-01 15:16:50 【问题描述】:

我正在使用结构实现 twitter 登录,使用本机应用程序登录似乎很好。但是,当我在设备中未安装 twitter 应用程序的情况下尝试登录时,它会使用 webview 开始授权,但完成后我在 onSuccess 或 failure 方法中都没有收到任何回调

           mTwitterAuthClient.authorize(ConnectSocialMedia.this, new Callback<com.twitter.sdk.android.core.TwitterSession>() 

                    @Override
                    public void success(Result<com.twitter.sdk.android.core.TwitterSession> result) 
                        // Success
                        mDialog.dismiss();
                        // The TwitterSession is also available through:
                        // Twitter.getInstance().core.getSessionManager().getActiveSession()
                        com.twitter.sdk.android.core.TwitterSession session = result.data;
                        ApplicationData.setSharedPrefValue(mActivity, "twittertoken", session.getAuthToken().token);
                        ApplicationData.setSharedPrefValue(mActivity, "twittertokensecret", session.getAuthToken().secret);
                        ApplicationData.setSharedPrefValue(mActivity, "twitterid", String.valueOf(session.getUserId()));
                        imgTwitter.setVisibility(View.VISIBLE);
                        mTwitterLoginButton.setEnabled(false);
                        btnClose.setVisibility(View.VISIBLE);
//                        getTwitterCover(String.valueOf(session.getUserId()));
                    

                    @Override
                    public void failure(TwitterException e) 
                        mDialog.dismiss();
                        Log.d("TwitterKit", "Login with Twitter failure", e);
                        Toast.makeText(mActivity, "Twitter Login Failed", Toast.LENGTH_SHORT).show();
                        mTwitterLoginButton.setEnabled(true);
                    
                );

            
        );

onActivityResult 上也没有

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    super.onActivityResult(requestCode, resultCode, data);
    // Make sure that the mTwitterLoginButton hears the result from any
    // Activity that it triggered.
    mTwitterAuthClient.onActivityResult(requestCode, resultCode, data);

请帮帮我,谢谢

【问题讨论】:

【参考方案1】:

在您的 Twitter 应用设置页面中添加任何回调 URL。之后一切都会正常工作。 :)

【讨论】:

以上是关于如何使用fabric从twitter webview中检索登录回调的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中使用 Twitter Kit/Fabric 从登录用户获取用户个人资料图片

如何从 android 项目中完全卸载 Twitter 的 Fabric SDK?

如何将 Twitter Fabric 会话从 Activity 发送到另一个 Activity?

使用 Fabric SDK 从 Twitter 授权中取消时出现授权错误

Twitter 如何在 Android Studio 中使用 Fabric 插件获取用户个人资料图片

从 TWTRShareEmailViewController 切换到另一个控制器 - Twitter fabric ios sdk