在Android和NativeActivity之间进行通信

时间:2014-09-24 15:55:17

标签: java android multithreading android-ndk ogre

我正在开发一个Android应用程序,其中我有一个3D部分,其中大部分应用程序的功能都是用C ++用ogre编写的。一些功能(如用于搜索的UI等)是使用普通的Android UI实现的。到目前为止,我使用JNI在这两者之间进行通信,并直接从java启动渲染线程并从那里进行管理。然而,这会导致一些非常混乱的代码。

现在我用自己的线程偶然发现了NativeActivity并且非常喜欢它。但是 - 我仍然需要从java启动渲染引擎中的某些过程,反之亦然。为此,我希望能够将事件发送到NativeActivity的线程中像传感器事件一样处理的本机代码。要从C ++启动Java程序,我可以简单地执行JNI调用并将它们发布到UI线程上(如果有人有更好的想法,我可以打开sugestions。)

所以主要问题是:有没有一种方法可以(在Java中)传递NativeActivity一些类似事件的对象,然后使用C代码在NativeActivity中的主要本机循环中处理它?<​​/ p>

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以在jni方法中传递jObject并将其处理为c / c ++代码。