【发布时间】: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