Twitter集成不返回OnActivityResult

时间:2017-02-21 06:54:38

标签: android twitter twitter-fabric

登录Twitter后,它不会回到OnActivityResult, 我正在使用片段进行这个Twitter集成 这是我的代码

我遵循了本教程https://docs.fabric.io

TwitterAuthConfig twitterAuthConfig = new TwitterAuthConfig(TwitterKey,TwitterSecretKey);
Fabric.with(getContext(),new Twitter(twitterAuthConfig));

...

 twitterLoginButton.setCallback(new Callback<TwitterSession>() {

        @Override
        public void success(Result<TwitterSession> result ) {
            Log.d("TwitterKit", "Twitter Result "+ result );
            Twitter.getInstance().core.getSessionManager().getActiveSession()
            TwitterSession session = result.data;
            String msg = "@" + session.getUserName() + " logged in! (#" + session.getUserId() + ")";
            Log.d("TwitterKit", "Twitter Result "+msg);
            Toast.makeText(getContext(), msg, Toast.LENGTH_LONG).show();

        }
        @Override
        public void failure(TwitterException exception) {
            Log.d("TwitterKit", "Login with Twitter failure", exception);
        }
    });

...

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Log.d("APP_LOG   ", "  requestCode  " + requestCode + "  resultscode:  " + resultCode + "  Data " + data);
    loginButton.onActivityResult(requestCode, resultCode, data);
}

2 个答案:

答案 0 :(得分:1)

我找到了答案,Twitter不适合我,因为我在片段中使用过 所以这就是为什么它不起作用,我刚刚创建了新的Activity它正在运行

答案 1 :(得分:0)

尽管您已经找到了解决方案,但我想再提一个原因,为什么您的onActivityResult无法调用。

这不取决于您是否在片段或活动中实现了Twitter回调处理-它在两种情况下均应工作。唯一的区别是,在片段实现中,您应该将onActivityResult事件从活动扔到片段中。

另一个未调用onActivityResult的原因是,您的活动在调用twitter auth视图后立即关闭。 如果您的活动具有 noHistory =“ true” 标志,则可能会发生这种情况。