Twitter 集成不返回 OnActivityResult

Twitter Integration Does not returning to OnActivityResult

登录twitter后没有返回到OnActivityResult, 我正在为这个推特集成使用片段
这是我的代码

我遵循了这个教程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 对我不起作用,因为我在 Fragment 中使用 所以这就是它不起作用的原因,我刚刚创建了新的 Activity 现在它起作用了

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

这不取决于您是否在片段或 activity 中实现了 Twitter 回调处理 - 它应该适用于这两种情况。唯一的区别是在片段实现中,您应该将 onActivityResult 事件从 activity 重新抛出到您的片段。

不调用 onActivityResult 的另一个原因是您的 activity 在调用 Twitter 验证视图后立即关闭。 如果您的 activity 具有 noHistory="true" 标志,则可能会发生这种情况。