shareSDK微信登陆功能获取用户信息失败

用cocos2d-X 做个游戏,要接shareSDK的微信登陆功能,在安卓平台遇到问题,现象是 微信授权能够成功,并且可以执行回调方法,但是获取用户信息的时候出错 【 使用的API 是 C2DXShareSDK::getUserInfo(C2DXPlatTypeWeixiSession, getUserResultHandler); 】,不能进入获取用户信息的回调。程序直接崩溃了。

:2::6::15:

前两天我的好好的 昨天出现了你说的问题 你是怎么解决的啊

貌似shareSDK 代码有问题, 在示例代码中 ,可以看到授权标签,和获取用户信息标签,这两个功能的回调方法都有问题,本人根据需要将里面的代码重写了,这里给大家,仅作参考。

void getUserResultHandler(C2DXResponseState state, C2DXPlatType platType, Dictionary *userInfo, Dictionary *error)

{

if (state == C2DXResponseStateSuccess){

if (userInfo&&NULL!=userInfo) {

__String* nickname =dynamic_cast<__String*>( userInfo->objectForKey(“nickname”));

if (nickname&&NULL!=nickname) {

log("%s",nickname->getCString());

}

}

}else {

log(“getUserFailed”);

}

}

void authResultHandler(C2DXResponseState state, C2DXPlatType platType, Dictionary *error)

{

switch (state) {

    case C2DXResponseStateSuccess:

        log("C2DXResponseStateSuccess");



        break;

    case C2DXResponseStateFail:

        log("C2DXResponseStateFail");

        break;

    default:

        log("C2DXResponseStateCancle");

        break;

}

}

最后需要添加一行代码: 找到C2DXShareSDk文件夹 ,下面 的Android,下面的JSON,下面的 CCJSONConverter.cpp 这个文件 ,找到 大概 130行,然后添加下面有注释的那行代码

    case cJSON_Array:

    {

        Array * array = new Array();

        array -> initWithCapacity(7);//这行代码需要添加

        convertJsonToArray(json, array);

        return array;

    }

以上遇到的问题,貌似是属于shareSDK的bug不知道以后的版本会不会修改 。

该方法不知道针对你的问题管不管用
仅作参考

http://user.qzone.qq.com/61869460/2 我基友的空间文章,一些ShareSDK的问题。

你QQ是多少 请教下你 我的是1719677034