Closed zouguangxian closed 10 years ago
是不是没有调用mSsoHandler.authorizeCallBack(requestCode, resultCode, data);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// SSO 授权回调
// 重要:发起 SSO 登陆的Activity必须重写onActivityResult
if (mSsoHandler != null) {
mSsoHandler.authorizeCallBack(requestCode, resultCode, data);
}
}
onActivityResult 都没有调用,重写有什么用
请更新最新版本的代码,该问题已修正。
onActivityResult 都没有调用,重写有什么用。
该问题已在V2.4.0中解决了
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
/**
* 下面两个注释掉的代码,仅当sdk支持sso时有效,
*/
if (mSsoHandler != null) {
mSsoHandler.authorizeCallBack(requestCode, resultCode, data);
}
}
虽然可以解决,但还是更新SDK吧.
基于你们官方的demo做测试,发现不能调用到回调。 反编译SDK后,发现应该是SDK的bug。 // 获取token测试button findViewById(R.id.auth).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mWeibo.anthorize(MainActivity.this, new AuthDialogListener()); } });
当用户发起授权时,微博服务端返回redirect并在query_string中带了code信息。 当n==0时,调用KeepAccessToken,因为bundle.getString("code")不为null,因此直接返回了,即授权在本地没做任何处理。 即使将n设置为1,也不会触发传入的listener。