【问题标题】:How to call PhoneGap API from within a Wikitude world如何从 Wikitude 世界中调用 PhoneGap API
【发布时间】:2013-05-08 17:01:18
【问题描述】:

在我的 PhoneGap + Wikitude 应用程序中,我有 PhoneGap 的标准 index.html 和 index.js 文件,它们启动了我的 Wikitude 世界 myWorld.html。

在 myWorld.html 中,我需要文件系统和 FileTransfer。我在 myWorld.html 中正确引用了 PhoneGap JavaScript 文件。

<script type="text/javascript" src="../../../www/cordova-2.5.0.js"></script>

我正在尝试这两个电话没有任何运气:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, fsSuccess, fsFail);

var ft = new FileTransfer();

我知道WikitudePlugin.callJavascript()(也可以参见question)在PhoneGap 中调用Wikitude 世界中的Javascript,但是:

  • 我知道使用callJavascript(),我只能将文本参数传递给我的维基世界。
  • 肯定有一种方法可以从维基世界的 HTML 中调用 PhoneGap 功能,因为 cordova.js 只是一个 JavaScript 文件?

如何在我的维基世界中获得对文件系统和 FileTransfer 对象的引用?

【问题讨论】:

    标签: javascript cordova wikitude


    【解决方案1】:

    不幸的是,PhoneGap 不仅仅是一个 JS 文件,它还扩展了具有原生平台特性的 JS 特性集。通常 phonegap 插件被简化为非常简单的操作,例如发送短信,例如 Wikiitude 插件使用传感器甚至分析摄像头帧以应用 ImageRecognition 算法。

    虽然 Wikitude 的 ARchitect 技术也使用 JS/HTML,但这并不意味着您可以轻松地将它们结合起来。 AR-View 在完全不同的上下文中运行,是 phoneGap 主 Activity 之上的一个 View。 在cordova 和Wikitude 之间交换数据的唯一方法是使用“document.location = architectsdk://...”和architectView.callJavascript。

    我建议您在 Cordova 环境中处理任何文件读取,并使用 callJavaScript(EgAnyJSONObject) 将所有数据传递给 Wikitude 的 SDK。

    希望对您有所帮助。

    亲切的问候, 安德烈亚斯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 2013-09-22
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      相关资源
      最近更新 更多