C++中可以使用自带的jnihelper来完成C++调用Java部分
在cocos2d::Layer的子类中 GameLayer.CPP中
因为接入一个第三方SDK(JAVA实现的)
实际情况是:C++调用Java弹出Android对话框,用户点击对话框,然后把这个事件传递回C++层,C++层要调用当前的GameLayer的一个方法
简单点描述就是:
在cocos2d::Layer的子类中 GameLayer.CPP中
C++层这样调用Java代码
JniHelper::getStaticMethodInfo(info, "com/game/tools/AppSDK", "reqInfo", "()V");
Java中完成相应的操作,然后再Java代码调用C++层的函数
public static native void gameMethod()
在CPP层实现如下方法
JNIEXPORT void JNICALL Java_com_game_tools_AppSDK_gameMethod
(JNIEnv *, jclass);
{
// 这样是可以相互调用了 那么问题来了:
// 我调用的这个gameMethod已经不是在GameLayer这个类的范围中了 怎么调用GameLayer这个类中的方法呢
}