与zxing整合的扫码示例

先看一下效果图

barcode-scanner-scan

点击scan按钮,弹出摄像头界面,最后返回并得到扫码结果。

这里的技术要点是zxing的整合。所谓zxing的整合即通过intent启动zxing,即图标是条形码扫描名字是barcode scanner的那个应用(我这个示例应用标题也是barcode scanner,但是包名和zxing的那个的不同),最后得到扫描结果。
通过intentqidongzxing扫描的好处是不用设置专门的权限,其次实现起来也很简单。实际案例有google authenticator等。

整合的步骤如下:

  1. 这里下载zxing的android-integration
  2. 把两个代码文件IntentIntegrator和IntentResult放入你的工程
  3. 查看IntentIntegrator了解如何使用

因为zxing的github库首页Readme上没专门写如何使用IntentIntegrator,所以我就只能自己看IntentIntegrator的类注释。如果后期这个整合类有修改的话,看类注释也是最准的。

具体讲一下我是如何使用的。启动扫描的代码如何,其中第一句可以在类初始化的时候做,实际调用第二句即可。

接收结果:

mTvContent是上面文本框的ID。

注意如果你的手机上没有装barcode scanner这个应用的话,IntentIntegrator会提示你下载barcode scanner,按照提示下载就行。

另外提一下用整合方式生成二维码的方法,实际代码很简单:

text为你的文本。比如输入xnnyygn,运行结果如下:

barcode-scanner-generate

最后小结一下,用zxing方式处理条形码/二维码之类的还是挺简单的,不过用户需要安装barcode scanner。