Wil*_*lco 3 javascript android cordova
我在使用Cordova制作的应用程序上使用此条形码扫描程序(https://github.com/wildabeast/BarcodeScanner),专门用于在Android设备上使用.
我在JavaScript中设置了以下功能:
$(document).ready(function(){
$('#scanner').click( function(){
console.log('clicked'); //to see if the function is firing
cordova.plugins.barcodeScanner.scan(
function (result) {
alert("We got a barcode\n" +
"Result: " + result.text + "\n" +
"Format: " + result.format + "\n" +
"Cancelled: " + result.cancelled);
},
function (error) {
alert("Scanning failed: " + error);
}
);
});
});
Run Code Online (Sandbox Code Playgroud)
正如为此插件提供的文档中所述.我已使用cordova CLI将其添加到我的项目中:
$ cordova add plugin https://github.com/wildabeast/BarcodeScanner.git
Run Code Online (Sandbox Code Playgroud)
当我列出项目的可用插件时,我可以看到它已正确安装.此外,我可以在我的应用程序中使用相机按钮启动正确的功能,并可以使用后置摄像头扫描没有问题.
有没有办法使用前置摄像头进行扫描?如果它不在插件中,是否有任何方法可以设置设备使用的默认摄像头,在代码中默认使用前置摄像头?我们正在开发的应用程序只需要专门使用前置摄像头,而不需要背面摄像头.
任何帮助将不胜感激.
以下是我们为实现这一目标而采取的所有步骤的细分.来自不同来源的大量投入都归功于这项工作,但大多数投入并没有考虑到我们不是JAVA开发人员,甚至一些最小的JAVA实践对我们来说都是新的甚至是未知的.此解决方案来自Web开发人员的角度.
可在此处找到工作存储库以供使用:https://github.com/wilcovandeijl/camera_app
谢谢@Leo的帮助.你的帖子引导我们朝着正确的方向前进,但这里有一个更详细的方法,我们最终采取了这种方法.如果你想在你的帖子上详细说明一点,我会很感激,如果它是一个不同于最终工作的解决方案.
首先,我们使用CMD命令行将条形码扫描器插件添加到我们的项目中:
cordova plugin add com.phonegap.plugins.barcodescanner
将目录更改为下载插件默认的LibraryProject文件:
cd <project directory>\plugins\com.phonegap.plugins.barcodescanner\src\android\LibraryProject
在此目录中添加一个名为local.properties的新文件,其中包含SDK的路径
sdk.dir=C:\\Users\\QQQ\\Documents\\Android\\adt-bundle-windows-x86_64\\sdk
打开文件
<Project directory>plugins\com.phonegap.plugins.barcodescanner\src\android\LibraryProject\src\com\google\zxing\client\android\camera\open\GingerbreadOpenCameraInterface.java
编辑第48行: if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT)
在CMD中将目录更改为:
cd <project directory>\plugins\com.phonegap.plugins.barcodescanner\src\android\LibraryProject
在CMD类型ant release.这将创建一个可以在其中找到的classes.jar文件<project directory > \plugins\com.phonegap.plugins.barcodescanner\src\android\LibraryProject\bin.
如果您遇到Unable to resolve target 'android-17'错误,请查看此解决方案.
一个文件夹,删除com.google.zxing.client.android.captureactivity.jar文件,但记得复制文件的名称.将classes.jar文件放入此目录(\ plugins\com.phonegap.plugins.barcodescanner\src\android\LibraryProject)并将其重命名为com.google.zxing.client.android.captureactivity.jar
最后还将新创建的com.google.zxing.client.android.captureactivity.jar文件复制到<project directory>\platforms\android\libs目录中.
您现在可以cordova build android在CMD中运行命令来编译APK并在您的设备上运行.
感谢@Leo对此的帮助,我们非常感谢.
| 归档时间: |
|
| 查看次数: |
4523 次 |
| 最近记录: |