在Cordova Phonegap中的Android WebView上捕获HTML5相机

时间:2015-12-29 05:44:40

标签: android html5 cordova webview phonegap-build

我已经建立了一个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时,似乎使用的是其他浏览器似乎无法按预期解释标记及其属性。

3 个答案:

答案 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" >