zoukankan      html  css  js  c++  java
  • Android—ZXing二维码扫描遇到的问题

    最近工作中需要开发带有二维码扫描功能的软件(基于开源项目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();
            }

      

     

  • 相关阅读:
    HDU-1702-ACboy needs your help again!(Stack)
    HDU1276-士兵队列训练问题 (Queue)
    HDU1285-确定比赛名次(拓扑+优先队列)
    The Preliminary Contest for ICPC Asia Nanjing 2019
    拓扑排序板子 hihocoder-1174
    BZOJ1066 [SCOI2007]蜥蜴
    BZOJ3888 [Usaco2015 Jan]Stampede
    BZOJ1718 [Usaco2006 Jan] Redundant Paths 分离的路径
    BZOJ1112 [POI2008]砖块Klo
    BZOJ1031 [JSOI2007]字符加密Cipher
  • 原文地址:https://www.cnblogs.com/yunfang/p/5379366.html
Copyright © 2011-2022 走看看