我已经建立了一个cordova phonegap应用程序作为原型 因为它是原型我基本上只是链接到在index.html中执行以下操作的移动网页:
<script>window.location = 'http://example.com';</script>
在example.com上,一个关键的HTML是:
<input name="photo" id="upload-image" type="file" accept="image/*" capture="camera" >
在我通过build.phonegap.com编译的已编译的phonegap应用程序中,在Android上下载并运行.apk文件后,单击该文件控件时,只打开没有摄像头选项的本地文件浏览器。
有没有办法使这项工作能够启动相机或理想情况下直接启动相机?
当我通过Chrome从Android访问移动网站时,它按预期工作,但在运行已编译的apk时,似乎使用的是其他浏览器似乎无法按预期解释标记及其属性。
答案 0 :(得分:0)
你做错了。和phonegap应用程序一样,您需要实现相机插件才能使用相机功能。
按照以下链接中的说明操作,您就可以在应用中使用相机了。
http://docs.phonegap.com/en/edge/cordova_camera_camera.md.html
答案 1 :(得分:0)
Android不支持在webview中接受属性。
http://caniuse.com/#feat=input-file-accept&search=Accept
考虑使用Cordova Camera插件
答案 2 :(得分:0)
可能
添加crosswalk插件(将取代webview)
https://crosswalk-project.org/documentation/cordova.html
添加相机插件。
然后将此代码添加到 onDeviceReady 函数(仅用于获取预设)
navigator.camera.getPicture(onSuccess, onFail, {
quality: 50,
destinationType: Camera.DestinationType.FILE_URI
});
function onSuccess(imageURI) {
var image = document.getElementById('myImage');
image.src = imageURI;
}
function onFail(message) {
alert('Failed because: ' + message);
}
现在这应该打开设备相机
<input name="photo" id="upload-image" type="file" accept="image/*" capture="camera" >