這個問題是由於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);//在此調用原函數
}
});
}函數