未调用Android fabric twitter授权回调

未调用Android fabric twitter授权回调,android,twitter,twitter-fabric,Android,Twitter,Twitter Fabric,我已经开始在Android上使用Twitter Fabric。使用TwitterLoginButton登录正常, 但在某些情况下,我不需要使用TwitterLoginButton,我只需要获取用户令牌和密码。 代码看起来是正确的,twitter登录表单被打开,但回调被调用 TwitterAuthClient authClient = new TwitterAuthClient(); authClient.authorize(TwitterSettingsActivity.this, new Ca

我已经开始在Android上使用Twitter Fabric。使用TwitterLoginButton登录正常, 但在某些情况下,我不需要使用TwitterLoginButton,我只需要获取用户令牌和密码。 代码看起来是正确的,twitter登录表单被打开,但回调被调用

TwitterAuthClient authClient = new TwitterAuthClient();
authClient.authorize(TwitterSettingsActivity.this, new Callback<TwitterSession>() {
     @Override
     public void success(Result<TwitterSession> twitterSessionResult) {
         Logger.e(TAG, "ok");
     }

     @Override
     public void failure(TwitterException e) {
         Logger.e(TAG, "failure error", e);
     }
});
TwitterAuthClient authClient=new TwitterAuthClient();
authClient.authorize(TwitterSettingsActivity.this,new Callback()){
@凌驾
公共作废成功(结果twitterSessionResult){
Logger.e(标记“ok”);
}
@凌驾
公共无效失败(Twittere异常){
Logger.e(标签“故障错误”,e);
}
});

我想我需要在onActivityResult中添加一些处理,但是文档中没有关于它的信息

您是对的,您需要在onActivityResult中添加一些处理来获取回调。要传回“活动”的结果以便回调函数接收该结果,可以执行以下操作:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        // Pass the activity result to the auth client.
        authClient.onActivityResult(requestCode, resultCode, data);
    }

这就是
TwitterLoginButton
在其
TwitterLoginButton#onActivityResult
方法中所做的工作。

我也有同样的问题,但我使用的是片段而不是活动,这唯一不同的是我还声明了
TwitterAuthConfig authConfig=new TwitterAuthConfig(LoginMainActivity.TWITTER_KEY,LoginMainActivity.TWITTER_SECRET);Fabric.with(getActivity(),new TWITTER(authConfig));
inside onCreateView()