// 当你看到这个问题的时候 我假设你已经遇到了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
时间: 2024-08-26 00:20:28