码迷,mamicode.com
首页 > 移动开发 > 详细

Android—ZXing二维码扫描遇到的问题

时间:2016-04-11 18:20:38      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:

最近工作中需要开发带有二维码扫描功能的软件(基于开源项目ZXing),遇到的问题记录一下,也希望给大家带来帮助。

1.首先因为扫描要开摄像机所以加权限是一定的,不然后面什么都不能进行

  <uses-permission android:name="android.permission.CAMERA" />

2.设置扫描框的大小:

 在com.zxing.camera包中查找

  private static final int MIN_FRAME_WIDTH = 240;
  private static final int MIN_FRAME_HEIGHT = 240;
  private static final int MAX_FRAME_WIDTH = 580;
  private static final int MAX_FRAME_HEIGHT = 580;

  修改这几个属性值就可以修改扫描框大小。

3.实现二维码的重复扫描

 1.在com.zxing.decoding包中查找restartPreviewAndDecode()方法,本身是private改为public

 2.在扫描二维码的activity中添加重复扫描方法:

 private void continuePreview() {
        SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view);
        SurfaceHolder surfaceHolder = surfaceView.getHolder();
        initCamera(surfaceHolder);
        if (handler != null) {
            handler.restartPreviewAndDecode();
        }

 注:有时候直接调用此方法会出现bug:多次扫描过后返回到上一个界面再次进入的时候会出现黑屏。

      解决方法:不直接调用continuePreview()这个方法,在需要二次扫描的时候直接写:

      if (handler != null) {
            handler.restartPreviewAndDecode();
        }

  

 

 

Android—ZXing二维码扫描遇到的问题

标签:

原文地址:http://www.cnblogs.com/yunfang/p/5379366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!