编程语言
首页 > 编程语言> > android – 在没有Camera API的情况下,只在HTML输入的Phonegap应用程序上使用相机

android – 在没有Camera API的情况下,只在HTML输入的Phonegap应用程序上使用相机

作者:互联网

是否可以在没有Camera API的情况下通过HTML输入从相机中的相机获取照片?

脚本

我开发了一个应用程序并通过Phonegap封装它(Build)

用户可以使用html文件输入提交照片.但是没有选择从相机拍摄新照片,只有画廊和文件(以及任何其他存储应用程序,如驱动器或Dropbox,如果是这种情况).

我想启用相机选项,但没有PhoneGap的Camera API.

解决方案

我尝试了以下解决方案但没有成功:

1.“捕获”属性(从Raymond Camden post开始)

使用此方法,您所要做的就是添加“capture”属性,如下所示:

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

Raymond解释说,使用这种方法你不需要使用PhoneGap的Camera API,因为谷歌开发了这个选项,并在Google IO presentation中显示它,根据谷歌开发者和雷蒙德,它的工作原理.

但是……不适合我.

2.配置Phonegap以询问相机的许可(从Jorge Lizaso’s question开始)

“也许相机选项没有显示,因为你的应用没有适当的权限”

在上面的问题中,提到了4种间接询问和接收使用相机的适当权限的方法.

我已经尝试了方法2和4,虽然我的应用程序现在要求相机权限并且我允许它正确,当我使用文件输入时,所有选项都被呈现(如图库和文件),但没有相机.

3(和1).使用最新版本的webkit和Crosswalk来确保解决方案#1

由于我的android webview可能会过时(并且与解决方案#1不兼容),我决定在我的应用程序中包含可能的最佳webview:the latest version of Google Chromium.

但是……再没有成功.

1,2和3组合在一起

结果:没有…成功.

解决方法:

是的,有一个解决方案,无需Cordova / PhoneGap的Camera API.

由于我所知的原因,CocoonJS中使用的webkit(名为WebView)比phonegap的Crossswalk更优化和调整为HTML5应用程序(请,我与Cocoon无关).

我完全丢弃了我的Phonegap config.xml设置并尝试了Cocoon builder.我使用解决方案#1(文件输入中的捕获属性)并通过Cocoon添加了这些插件:

<cocoon:plugin name="cordova-plugin-camera"/>
<cocoon:plugin name="cordova-plugin-media-capture"/>
<cocoon:plugin name="cordova-plugin-media"/>
<cocoon:plugin name="cordova-plugin-file"/>
<cocoon:plugin name="cordova-plugin-device"/>

重要的是要注意我刚安装这些插件以获得所需的权限,但我根本不使用它们.

可能更有经验的开发人员会有更好的解决方案,但就目前而言,这是我找到解决此问题的最佳方法.

标签:phonegap-build,android,ios,cordova,camera
来源: https://codeday.me/bug/20190927/1823929.html