运行Cordova / Phonegap 6.4.0,Android 5.0,使用Inappbrowser和Iframe进行测试,两者都不会打开相机,只是打开了一个原生文件选择窗口。但我需要打开相机。
<input type="file" name="fileToUpload" id="fileToUpload" accept="image/*" capture="camera">
答案 0 :(得分:0)
修改强>
我以前遇到过这个问题。它适用于某些设备而非其他设备。似乎有些设备使用不同的webview,这可能会或可能不会完全支持HTML中的相机输入,或者它们看起来似乎有不同的语法。
出于这个原因,我建议使用相机插件。这样可以在所有设备上提供一致的结果。
Cordova文件插件:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/
与Cordova文件传输插件一起使用:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file-transfer/
如果您只想选择图像或图片,可以使用Cordova Camera Plugin
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">
注意我在accept属性中包含了capture属性。