【问题标题】:Can google TangoUX work together with tango C API?google TangoUX 可以与 tango C API 一起使用吗?
【发布时间】:2016-07-17 07:29:54
【问题描述】:

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

【问题讨论】:

    标签: android google-project-tango


    【解决方案1】:

    您只能从 Java 层使用它。尝试将 JNI 中的数据呈现给 java,并在 Activity 中使用。

    【讨论】:

    • 我了解 TangoUX 只能用于 java 层。我已经有一个可以访问 TangoService 并在 JNI 中渲染的可行应用程序,但我想添加类似 TangoUX 的 UI,它可以向用户指示 Tango 状态。我尝试的是:在activity中设置并运行tangoUX作为官方java示例,同时继续使用JNI访问TangoService,如官方c示例。在这样的设置中,TangoUX 似乎无法正常工作。
    【解决方案2】:

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

    正如 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 2013-11-03
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多