您的位置:首页 > 移动开发 > Android开发

第三方QQ登录不回调 (Android)

2015-09-10 11:50 621 查看
// 当你看到这个问题的时候 我假设你已经遇到了Android上QQ登录不回调的问题 且 代码和官方文档一致

(这时候其实仔细看sdk里的示例代码才能发现官方文档和sdk示例代码有出入的)

上代码:

private void onQQLoginClick() {
// 这里的逻辑和官方文档一样
tencent = Tencent.createInstance(Config.QQ_APP_ID, this);
if (!tencent.isSessionValid()) {
tencentLoginListener = new IUiListener() {
@Override
public void onComplete(Object o) {
org.json.JSONObject obj = (org.json.JSONObject) o;
Log.i(TAG, "#onComplete " + obj);
}

@Override
public void onError(UiError uiError) {
Log.i(TAG, "#onError " + uiError.errorMessage);
}

@Override
public void onCancel() {
Log.i(TAG, "#onCancel 取消");
}
};
tencent.login(this, "all", tencentLoginListener);
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// 官方文档没没没没没没没没没没没这句代码, 但是很很很很很很重要, 不然不会回调!
Tencent.onActivityResultData(requestCode, resultCode, data, tencentLoginListener);

if(requestCode == Constants.REQUEST_API) {
if(resultCode == Constants.RESULT_LOGIN) {
Tencent.handleResultData(data, tencentLoginListener);
}
}
}


看代码注释吧. sdk源码有调用Tencent.onActivityResultData()

坑爹! 卧槽

#SEO 加几个关键字 方便检索

Android QQ登录不回调 Android_SDK_V2.9.3 open_sdk_r5276_lite.jar

openSDK_LOG.UIListenerManager getListner action is null! rquestCod=11101
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息