科尔多瓦/ Phonegap Inappbrowser/IFrame无法在Android上打开相机

问题描述:

运行Cordova/Phonegap 6.4.0,Android 5.0,使用Inappbrowser和Iframe进行测试,两者都不会打开相机,只是打开了原始文件选择窗口。但我需要打开相机。科尔多瓦/ Phonegap Inappbrowser/IFrame无法在Android上打开相机

<input type="file" name="fileToUpload" id="fileToUpload" accept="image/*" capture="camera"> 

编辑:

我以前曾经有过这个问题。它适用于某些设备而不是其他设备。它似乎有些设备使用不同的网页浏览,可能会或可能不完全支持在HTML中的相机输入或他们期望看起来不同的语法。

为此,我建议使用相机插件。因为这为所有设备提供了一致的结果。

科尔多瓦文件插件:

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/

随着科尔多瓦文件传输插件:

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file-transfer/

如果你只是想选择图像或图片,你可以使用科尔多瓦相机插件

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-camera/

利用这一点,你可以使用户能够从他们的相机选择一个图像

安装摄像头插件:

cordova plugin add cordova-plugin-camera 

样品相机插件的JS代码:

var cameraOptions = { 

    destinationType: Camera.DestinationType.DATA_URL, 
    sourceType: Camera.PictureSourceType.CAMERA 
} 

function cameraSuccess(data){ 

    console.log(data); 

    var img = document.getElementById("yourImg"); 

    img.src = data; 

} 

function cameraError(error){ 

    console.log(error); 

} 

navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions); 

样本HTML:

<div><img id="yourImg" src=""/><div> 

原始

尝试使用这一行:

<input type="file" accept="image/*;capture=camera"> 

通知我有包括接受属性中捕获的属性。

+0

嗨,啊,谢谢,好!你以为我做错了什么。 – Benyaman

+0

太好了。如果它有效,你可能想接受其他人知道的答案。干杯。 –

+0

不幸的是,我不认为这是一个通用的解决方案,但更多的是针对特定情况的解决方法。从InAppBrowser内部的第三方页面捕捉照片仍然无法实现。建议的解决方法涉及Cordova和我拥有的代码,而不是第三方。 – Stan