在本机条形码扫描器中添加关闭按钮

时间:2018-10-08 05:57:43

标签: android angular cordova ionic3 barcode-scanner

我正在尝试创建条形码扫描仪应用程序,因此我遵循此link in ionic可以正常工作,但是我需要在相机屏幕上关闭按钮,以便在不需要时可以关闭相机 有人可以帮我吗

我的离子信息 离子性:

离子(离子CLI):4.1.2    离子框架:离子角3.9.2    @ ionic / app-scripts:3.2.0

科尔多瓦:

cordova(Cordova CLI):8.1.1(cordova-lib@8.1.0)    Cordova平台:Android 7.1.1    Cordova插件:cordova-plugin-ionic-keyboard 2.1.3,cordova-plugin-ionic-webview 2.1.4(和其他10个插件)

系统:

NodeJS:v8.12.0    npm:6.4.1

phonegap-plugin-barcodescanner 8.0.0“ BarcodeScanner”

2 个答案:

答案 0 :(得分:0)

自定义phonegap-plugin-barcodescanner

在项目根目录中...

1-创建目录并克隆插件

$ mkdir customPlugins

$ cd customPlugins

$ git clone https://github.com/phonegap/phonegap-plugin-barcodescanner.git

$ cd ..

2-删除较旧的插件

检查phonegap-plugin-barcodescanner是否在插件中,并在config.xml或package.json中删除可能的较早引用。

$ ionic cordova插件rm phonegap-plugin-barcodescanner

3-添加插件

$ ionic cordova插件添加'./customPlugins/phonegap-plugin-barcodescanner /'

4-在设备中运行以检查其是否正常运行。

如何在Android中自定义摄像头叠加

这是Android条码扫描器存储库的链接:phonegap-plugin-barcodescanner-> src-> android->自述文件

1-克隆存储库

https://github.com/EddyVerbruggen/barcodescanner-lib-aar并在android studio中打开

相机叠加层布局在res->布局文件夹中是capture.xml,而其控制器是Java->客户端-> android中的CaptureActivity.java。

2-随心所欲...并生成新库

转到根项目文件夹->条码扫描仪->构建->输出-> aar->删除文件夹或内容

转到gradle工具窗口(通常是android studio的右上角)并执行执行任务

barcodescanner-lib-aar->条码扫描器->任务->构建(双击)

3-打开新生成的aar文件(barcodescanner-release.aar)

barcodescanner->构建->输出->汽车

4-转到离子项目,然后在customPlugin / phonegap-plugin-barcodescanner中找到条形码扫描仪发布2.1.5.aar ...

将条码扫描器-release.aar名称更改为条码扫描器-release-2.1.5.aar并将其替换为customPlugin /...

5-删除旧插件

$ ionic cordova插件rm phonegap-plugin-barcodescanner             并再次添加

$ ionic cordova插件添加'./customPlugins/phonegap-plugin-barcodescanner /'

6-检查一切是否又能正常工作(也许必须删除平台并再次添加)

对于iOS,您可以参考此链接

https://forum.ionicframework.com/t/how-to-change-barcode-scanner-overlay-img-when-scanning/86095

答案 1 :(得分:0)

[Android] 关闭扫描仪的方法是按下设备上的后退按钮:

constructor(public platform: Platform) {
 this.platform.registerBackButtonAction(() => {
  this.navCtrl.pop();
 });
}