2013-05-08 2 views
0

В моем приложении PhoneGap + Wikitude у меня есть стандартные файлы index.html и index.js PhoneGap, которые запускают мой мир Wikitude myWorld.html.Как вызвать API PhoneGap из мира Wikitude

В myWorld.html мне нужна файловая система и FileTransfer. Я установил правильную ссылку на файл JavaScript PhoneGap в myWorld.html.

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

Я пытаюсь эти два вызова без везения:

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

var ft = new FileTransfer();

Я знаю WikitudePlugin.callJavascript() (посмотреть question а) позвонить Javascript в мир Wikitude изнутри PhoneGap, но:

  • Я понимаю, что используя callJavascript(), я могу передавать текстовые параметры только в мой мир Wikitude.
  • Несомненно, ДОЛЖЕН быть способ вызова функциональности PhoneGap изнутри мира Wikitude, поскольку cordova.js - это не что иное, как файл JavaScript?

Как получить ссылку на файловую систему и объект FileTransfer в моем мире Wikitude?

ответ

1

К сожалению, PhoneGap - это больше, чем просто JS-файл и расширяет функциональный набор JS с использованием собственных функций платформы. Обычно плагины для телефонных разговоров сводятся к очень простым операциям, таким как отправка SMS, например. Плагин Wikitude использует датчики и даже анализирует cam-frames для применения алгоритмов ImageRecognition.

Хотя технология ARchitect от Wikitude также использует JS/HTML, что не означает, что вы можете легко их объединить. AR-View запускается в совершенно другом контексте и представляет собой представление поверх основной активности phoneGap. Единственный способ обмена данными между кордовой и Wikitude - использовать «document.location = architectsdk: // ...» и architectView.callJavascript.

Я рекомендую вам обрабатывать любые чтения файлов в среде Cordova и передавать все данные в SDK Wikitude, используя callJavaScript (EgAnyJSONObject).

Надеюсь, что это поможет.

С наилучшими пожеланиями, Andreas

+0

Спасибо, что очистили вещи для меня. – Caroline

Смежные вопросы