Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从远程网站访问cordova摄像头_Android_Cordova_Cordova Plugins - Fatal编程技术网

Android 从远程网站访问cordova摄像头

Android 从远程网站访问cordova摄像头,android,cordova,cordova-plugins,Android,Cordova,Cordova Plugins,我用cordova为android平台制作了一个应用程序。 在index.html的设备就绪事件中,我从外部网站加载了一个页面: window.open('https://www.miosito.it/camera.php', '_self', 'location=no,clearcache=yes,toolbar=no'); 在这个页面(camera.php)中,我想访问设备camera来拍照,但是navigator.camera没有定义 插件已正确加载到应用程序中,因为在cordova主页

我用cordova为android平台制作了一个应用程序。 在index.html的设备就绪事件中,我从外部网站加载了一个页面:

window.open('https://www.miosito.it/camera.php', '_self', 'location=no,clearcache=yes,toolbar=no');
在这个页面(camera.php)中,我想访问设备camera来拍照,但是navigator.camera没有定义

插件已正确加载到应用程序中,因为在cordova主页index.html中的OnDeviceReady事件中,此对象存在并工作

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 (cordova-lib@8.1.1)
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插件。基本上,您的
窗口。open
命令完全取代了Cordova环境。

可能会框显您的外部HTML页面,并在index.HTML中请求摄像头。或者使用inAppBrowser插件加载Camera.php页面,尽管您可能无法按需要的方式访问Cordova API—正如页面上所说—“inAppBrowser窗口的行为类似于标准web浏览器,无法访问Cordova API”。尝试一个iFrame-您将需要一些定制的JS-并查看是否可以让iFrame调用index.html中的函数(在那里您可以访问navigator.camera)