Могу ли я использовать встроенную камеру Android в phonegap поверх iframe и отправлять фотографии на мой веб-сервер?

Я создаю приложение, и из-за моих недостающих знаний Java и XCode я решил сделать это приложение на HTML, PHP, CSS & Javascript (JQuery). Теперь я сталкиваюсь с проблемой переноса этого приложения на разные устройства и хочу использовать PhoneGap для этого. Я поместил index.html внутри сервера для приложения, и внутри него размещен iframe, и больше ничего. Могу ли я по-прежнему получать доступ к хранилищу мультимедиа и отправлять PHP-данные назад и вперед, имея фрейм-фрейм в качестве моста между PhoneGap на Android и моим веб-сайтом на его веб-сервере? Могу ли я получить доступ к камере устройства?

0

Решение

Краткий ответ: нет, и вы не должны это пробовать.

Длинный ответ (и более безопасный) заключается в использовании postMessage как описано в MDN, сделать это по-другому может привести к несогласованности между устройствами (помните, насколько фрагментирован Android и насколько болезненной может быть обратная совместимость с 4.3 и ниже)

Таким образом, вы можете получить элемент iFrame, а затем опубликовать сообщение

otherWindow.postMessage(InfoToSend, "*");

Таким же образом вы можете прослушать это событие внутри фрейма:

window.addEventListener("message", receiveMessage, false);

Это не вызовет проблем с кадрами, и это будет более безопасный способ передачи информации между кадрами, это работает в обоих направлениях, так что вы можете попросить (Изнутри вашего iFrame) использовать некоторую нативную функцию (плагин), послушайте это событие в главном приложении вашего устройства, выполнив то, что вам нужно, и после этого отправьте postMessage (из вашего приложения) на ваш iFrame с результатом (a base64 img например)

Если вы пытаетесь передать window.cordova экземпляр или что-то подобное, он не будет работать, поэтому вам нужно будет установить разговор между iFrame и window.top Рамка.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]