Hi,
这个简单:
- 自己的plugin或者模块中提供一个JNI层让C++和java通信,例如新建一个YourModuleJNI.cpp,include “jni.h"(无法用尖括号,会被answerhub转义), “Android/AndroidJNI.h”。
- 声明及提供实现,例如你的事件是从gameactivity中发出的,那么 JNI_METHOD void Java_com_epicgames_ue4_GameActivity_YourInterfaceName(JNIEnv* Env, jobject thiz)实现里调用某个你能访问到的自己暴露给BP的接口(譬如标记成BlueprintImplementableEvent的方法)
- 在你的UPL的java代码里调用YourInterfaceName,则会通过jni调用对应C++接口,以及传递给bp对应的事件。