谷歌TangoUX可以与探戈C API一起工作吗?

时间:2016-07-17 07:29:54

标签: android google-project-tango

我试过了,但失败了。这可能吗 ?如果没有,你如何创建类似的连接/保持屏幕?

2 个答案:

答案 0 :(得分:0)

您只能在Java图层中使用它。尝试将数据从JNI表面化为java,并在活动中使用它。

答案 1 :(得分:0)

是的,这是可能的,但不是直截了当的。

正如Jason Guo所说,你必须从C API获取必要的信息,然后通过JNI将其发送回Java TangoUx。

基本上,在TangoService回调(C)函数中,你需要调用适当的TangoUX函数(java):

  • TangoService_connectOnXYZijAvailable - > mTangoUx.updateXyzCount
  • TangoService_connectOnPoseAvailable - > mTangoUx.updatePoseStatus
  • TangoService_connectOnTangoEvent - > mTangoUx.updateTangoEvent

为此,你必须看看如何使用JNI来调用java函数: http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html

要小心,因为C回调没有在主java线程中执行。因此,您需要在每个回调中更新JNIEnv(使用JavaVM类)。虽然它使用旧版本的JNI,但此链接有一些有用的信息。 http://android.wooyd.org/JNIExample/files/JNIExample.pdf