【问题标题】:Using camera on Phonegap app with only HTML input, without Camera API在 Phonegap 应用程序上使用相机,只有 HTML 输入,没有相机 API
【发布时间】:2016-01-29 17:26:27
【问题描述】:

是否可以在 phonegap 应用中仅使用 HTML 输入而不使用 Camera API 从相机中获取照片?

场景

我开发了一个app,通过Phonegap进行了封装(Build)

用户可以使用 html 文件输入提交照片。但是没有选择从相机拍摄新照片,只能从图库和文件(以及任何其他存储应用程序,如驱动器或保管箱,如果是这样的话)。

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

解决方案

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


1. “capture”属性(来自Raymond Camden post

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

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

Raymond 解释说,通过这种方法,您不需要使用 PhoneGap 的 Camera API,因为 Google 开发了这个选项并在 Google IO presentation 中展示了它,并且根据 Google 开发人员和 Raymond 的说法,它可以工作。

但是..不适合我。


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 组合

结果:没有……成功。

【问题讨论】:

  • 您需要测试 HTML5 API。您的设备可能没有正确的 webview 库。您的替代方法是使用crosswalk (webview) plugin,请参阅帖子底部了解如何使用插件。
  • 在 ios 上输入类型文件可以正常工作并显示图库或相机选项,在 android 上它不起作用。你必须使用相机插件
  • @JesseMonroy650 感谢您的注意,但我使用了 Crosswalk 插件。
  • @jcesarmobile 所以没有科尔多瓦相机我们什么都做不了??

标签: android ios cordova camera phonegap-build


【解决方案1】:

是的,有一个解决方案,不需要 Cordova/PhoneGap 的 Camera API。

由于我不知道的原因,CocoonJS(命名为 WebView+)中使用的 webkit 比 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"/>

重要的是要注意,我只是为了获得所需的权限而安装了这些插件,但我根本没有使用它们。


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

【讨论】:

  • 传奇!与您处于完全相同的位置,尝试了上面列出的所有步骤。只需安装您在 cordova 中列出的插件对我来说就足够了,尽管 CocoonJS 值得再看一下。
  • 非常感谢您的评论,@trans1t !
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-17
  • 2013-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多