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" 标志,则可能会发生这种情况。
登录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" 标志,则可能会发生这种情况。