Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android—ZXing二維碼掃描遇到的問題,androidzxing

Android—ZXing二維碼掃描遇到的問題,androidzxing

編輯:關於android開發

Android—ZXing二維碼掃描遇到的問題,androidzxing


最近工作中需要開發帶有二維碼掃描功能的軟件(基於開源項目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();
        }

  

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved