доступ к камере Cordova с удаленного сайта

1

Я сделал приложение с Cordova для платформы Android. В index.html при событии готовности устройства я загружаю страницу с внешнего веб-сайта:

window.open('https://www.miosito.it/camera.php', '_self', 'location=no,clearcache=yes,toolbar=no');

На этой странице (camera.php) я хотел бы получить доступ к камере устройства для фотографирования, но navigator.camera не определен.

Плагин корректно загружается в приложение, поскольку при событии OnDeviceReady в index.html главной страницы cordova этот объект присутствует и работает.

var app = {

    token: undefined,

    // Application Constructor
    initialize: function() {
        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
    },

    // deviceready Event Handler
    //
    // Bind any cordova events here. Common events are:
    // 'pause', 'resume', etc.
    onDeviceReady: function() {

        this.receivedEvent('deviceready');
        console.log(JSON.stringify(navigator));
        // here it works!!!

В чем я не прав?

Вот версия программного обеспечения, которую я использую:

cordova: 8.1.2 ([email protected])
cordova-plugin-badge 0.8.8 "Badge"
cordova-plugin-camera 4.0.3 "Camera"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-fcm 2.1.2 "FCMPlugin"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-inappbrowser-camera 1.1.0 "InAppBrowser"
cordova-plugin-media 5.0.2 "Media"
cordova-plugin-media-capture 3.0.2 "Capture"
cordova-plugin-whitelist 1.3.3 "Whitelist"

Любая идея?

Спасибо

Теги:
cordova
cordova-plugins

1 ответ

1
Лучший ответ

Поскольку это внешняя веб-страница вне среды вашего проекта Cordova, у вас не будет доступных плагинов Cordova после загрузки внешней страницы. По сути, ваша команда window.open полностью заменяет вашу среду Cordova.

  • 0
    И нет ли способов сделать это? Используя плагин FCM, уведомления работают ...
  • 0
    Может быть, iFrame вашей внешней HTML-страницы и запросить камеру в index.html. Или используйте плагин inAppBrowser для загрузки страницы Camera.php, хотя, возможно, вы не можете получить доступ к API-интерфейсам Cordova так, как вам нужно - cordova.apache.org/docs/en/latest/reference/…
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню