我为iOS和Android的Ionic项目实施了Barcode Scanner。
但是当我的扫描仪启动时,我想在视图中添加一个按钮并向其添加一个事件。
我正在使用phonegap-plugin-barcodescanner
插件
请帮我解决如何在扫描视图中附加内容。
答案 0 :(得分:3)
如果要在扫描仪的布局中添加内容,则需要在插件中编写代码。
你不能直接与JS的扫描仪交流。
事实上,您使用的插件使用cordova.exec通过传递参数来启动扫描程序视图。
对于Android,您可能需要修改4个文件:
除此之外,我从GitHub发现了两个用于cordova /离子应用程序的好插件:
还有昂贵的Scandit,每月约200美元解决你的所有问题,检查他们提出的每个解决方案的价格。
如果您使用他们的SDK,您可以通过js文件与扫描仪视图进行交互,因为他们的工作,但他们是我所知道的唯一一家公司。 (也许是ManateeWorks ......)
根据这一部分是我自7月中旬以来一直在做的事情,以便给你提供想法。
我目前正在为我的离子应用程序制作ANDROID扫描仪布局。 你可以找到我的GitHub存储库here,我从tjwoon的csZBar中分配它,我添加了一些我的离子应用程序需要的东西。
我什么都不保证,但我很确定我很快会实现iOS版面设计(至少我会尝试),不幸的是我真的不知道android / iOS手机编程。
Here's a screenshot of the layout
我制作了一个"标签栏"由3个图像按钮,一个"顶部栏"组成。由文本视图组成图像按钮。扫描仪嵌入在这两者之间。
该应用的功能有弹出窗口,可暂停扫描程序并响应点击事件。
有关详细信息,请参阅README和Java文件(csZBar / android /)。
不要犹豫提问和/或检查我的代码。
答案 1 :(得分:0)
添加插件后installngCordova
与bower install ngCordova
添加ng-cordova.js
JS文件的链接,高于对cordova.js
的引用:
<强>的index.html 强>
<script src="lib/ngCordova/dist/ng-cordova.js"></script>
<script src="cordova.js"></script>
另外,不要忘记添加ngCordova模块:
<强> app.js 强>
angular.module('myApp', ['ngCordova'])
现在您已准备好使用这样的插件:
<强>控制器:强>
var module = angular.module('starter.controllers', []);
module.controller('BarcodeCtrl', function($scope, $cordovaBarcodeScanner, $ionicPlatform) {
$ionicPlatform.ready(function(){
$scope.scan = function() {
$cordovaBarcodeScanner
.scan()
.then(function(barcodeData) {
alert(JSON.stringify(barcodeData));
}, function(error) {
alert(error);
});
};
});
});
查看:强>
<button ng-click="scan()">Scan</button>