CCNetwork中的getInternetConnectionStatus调用报错!!!???

如题,调用这个函数的时候,直接崩溃。错误报在 if 语句那一行。

int CCNetwork::getInternetConnectionStatus(void)
{
JniMethodInfo methodInfo;
if (JniHelper::getStaticMethodInfo(methodInfo, “org/cocos2dx/utils/PSNetwork”, “getInternetConnectionStatus”,
“()I”))
{
jint ret = methodInfo.env->CallStaticIntMethod(methodInfo.classID, methodInfo.methodID);
methodInfo.env->DeleteLocalRef(methodInfo.classID);
return ret;
}
return kCCNetworkStatusNotReachable;
}

CCNetworkAndroid.cpp

需要在java代码里初始化一下相关的原生模块

如果加入这个初始化后,又报下面这个错误
Failed to find class of org/cocos2dx/utils/PSNetwork

确认这个模块存在?路径是否正确?

和PSNetwork同一级的PSNative是可以正常使用的。

这个报错确实是类找不到了,请再确认一下路径名吧,大小写等等看有没有问题

int HttpDelegate::getInternetConnectionStatus(void)
{
return CCNetwork::getInternetConnectionStatus();
}
我是直接在C++中调用的,然后只要调用这个函数,就会报类找不到。

Java那边的初始化代码是怎么样的?

public Cocos2dxGLSurfaceView onCreateView() {
PSNative.init(this);
PSNetwork.init(this);

    Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this); 
    glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8); 
    return glSurfaceView; 
}

如果路径和类名都没错的话,报Failed to find class确实太没道理了

PSNative用得好好的,就PSNetwork一用就报这个错误。
不知道什么原因。
不过还是谢谢你的回答。

这个错误只在安卓设备上出现,在IOS设备上可以正常运行的。

现在有解决没? 3.2 中
http://www.cocoachina.com/bbs/read.php?tid-272585.html
也出现这个问题了。

没解决。。。。。。

嗯 ,那请求网络,就直接开搞? 不判断 网络状态了?

你用http的话,会有个状态码返回,可以根据这个来判断
如果是socket直连,如果断线,也是能检测出来的
只能自己处理一下这些情况。

quick3.3下, 安卓真机调试, 调用network.getInternetConnectionStatus() 后奔溃,见图

在 AndroidManifest.xml中设置权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>