这个问题是由于Android在启动cocos2d-x的Thread时,没有用context的主的Thread,而是使用的OpenGL的Thread,因此咱们不能在主Thread去完成 本应该是在cocos2dx中OpenGL Thread中 完成的工做(即所调用的函数在Cocos2dx中作的工做), 必须使用OpenGL的Thread去完成︰java
public static native void nativeCallback(String code, String params); //本来程序中调用的java函数ide
public static void runNativeCallback(final String code, final String params)//增长此函数,修改后在调用nativeCallback的地方调用runNativeCallback便可
{
Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable(){
@Override
public void run()
{
nativeCallback(code, params);//在此调用原函数
}
});
}函数