Twitter集成不会返回到OnActivityResult



登录到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);
}

我找到了答案,Twitter对我不起作用,因为我在片段中使用了这就是为什么它不起作用的原因,我刚刚创建了新活动

尽管您已经找到了一个解决方案,但我想提一下一个原因,为什么无法称呼您的OnActivityResult。

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

另一个原因,为什么不称呼octivityResult,是您的活动在调用Twitter Auth视图后立即关闭。如果您的活动具有 noHistory =" True" flag。

,这可能会发生这种情况。

最新更新