2016-05-13 98 views
5

我已经为我的iOS和Android的Ionic项目实施了条码扫描器。 但是当我的扫描仪启动时,我想在视图中添加一个按钮并向它添加一个事件。 我正在使用phonegap-plugin-barcodescanner插件条码扫描器添加按钮里面的扫描页面

请帮助我如何在扫描视图中添加内容。

的index.html

<script src="lib/ngCordova/dist/ng-cordova.js"></script> 
<script src="cordova.js"></script> 

而且,不要忘了补充:

+0

您到目前为止尝试了什么? –

+0

我已经创建了一个服务来调用扫描器。 请参阅此片段:: cordova.plugins.barcodeScanner.scan( 功能(结果){//成功 deferred.resolve({ '错误':假的, '结果':结果});} , 功能(错误){//失败 deferred.resolve({'error':true,'result':error.toString()}); } ); – SSen

+0

@SSen尝试我在下面发布的答案,我测试过,它似乎工作。 –

回答

0

添加插件,installngCordovabower install ngCordova

以上参考ng-cordova.js JS文件添加链接cordova.js后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> 
+0

Prashant,这已经在工作了。但是,这只是打开扫描仪的短信“在取景器矩形内放置一个条形码以扫描它”。在页面的底部。 我需要在此文本上方添加一个按钮。 – SSen

+0

对于我来说,我可以扫描QR/BarCode并提醒这些值。对不起,我误解了,但你想完成什么? –

+0

是的,我也能做到。但现在我需要在扫描仪视图中添加一个按钮,以便我可以恢复到某个页面,然后我想退出扫描过程。 – SSen

3

如果你想添加东西到你的扫描器的布局,你需要在插件本身编写代码。

您不能直接与JS中的扫描仪进行交互。

实际上,您使用的插件使用cordova.exec以通过传递参数启动扫描仪视图。

  • 对于Android,您只需要了解Java和一些XML。
  • 对于iOS,您必须知道Objective-C/Swift。

是Android,您可以有4个文件进行修改:

  • 的plugin.xml:所有的家里,你相依
  • Your_Activity.java:Java文件允许与扫描视图本身互动通过调用按钮,textviews,布局等...
  • Your_Main.java:从您的插件的js文件获取并返回参数的java文件
  • Your_Layout。XML:在res xml文件/它是由被Java

那旁边解释XML属性的布局,我发现了两个不错的插件科尔多瓦/离子应用从GitHub:

  • 的PhoneGap/PhoneGap的-plugin-barcodescanner
  • tjwoon/csZBar

而且还有昂贵的一个,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)它是目前发展所以用它在你自己的风险(使用分支的主人,不发展)
  • 2)我只修改了Android的一部分,而不是iOS版!
  • 3)它不适用于Windows手机...