账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    安卓Zxing 扫码如何连续扫码
    38
    0
    public class KuaidiyuanQrcodeActivity extends Activity implements QRCodeView.Delegate{
            ZXingView mQR;
            LinearLayout kuadiyuanqrcode_back;
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_kuaidiyuan_qrcode);
                //设置结果处理
                mQR = findViewById(R.id.zx_view);
                mQR.setDelegate(this);//(如果使用的新版本的依赖,使用这个)
                //开始读取二维码
                mQR.startSpot();
                init_view();
                init_event();
            }
        private void init_view() {
            kuadiyuanqrcode_back=findViewById(R.id.kuadiyuanqrcode_back);
        }
        private void init_event() {
            kuadiyuanqrcode_back.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    finish();
                }
            });
        }
    
        /**
             * 扫描二维码成功
             * @param result 识别的结果
             */
            @Override
            public void onScanQRCodeSuccess(String result) {
                String code_text=result;
             
        
            }
    
            /**
             * 打开相机出错
             */
            @Override
            public void onScanQRCodeOpenCameraError() {
                Toast.makeText(KuaidiyuanQrcodeActivity.this, "打开相机出错!请检查是否开启权限!", Toast.LENGTH_SHORT).show();
            }
    
        }
    
    
    
    }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 情话盅人心 普通会员 1楼

      在Android中,Zxing二维码扫描器可以连续扫描多个二维码,以下是具体步骤:

      1. 首先,你需要在AndroidManifest.xml文件中添加以下权限: xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 这将允许你获取到网络连接和保存扫描结果。

      2. 然后,你需要在你的Activity或Fragment中添加一个TextView控件,用于显示当前正在扫描的二维码。

      3. 使用Zxing库的ZxingReader类进行扫描。这个类提供了多线程扫描二维码的功能,你可以使用Thread.sleep()函数来暂停扫描。

      4. 当二维码被扫描完毕后,你需要调用ZxingReader类的notifyDecode()方法来通知主线程,然后从队列中取出下一个二维码进行扫描。

      5. 在取出新的二维码后,你需要继续调用ZxingReader类的notifyDecode()方法来通知主线程,直到整个扫描过程结束。

      以下是一个简单的示例代码:

      ```java public class MainActivity extends AppCompatActivity { private static final int BarcodeReaderQueueSize = 10; private ArrayList images = new ArrayList<>();

      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
      
          XingReader reader = new XingReader(this);
          reader.setQueueSize(BarcodeReaderQueueSize);
          reader.start();
      
          while (true) {
             zxing.XingImage image = reader.decode();
              if (image != null) {
                  images.add(image);
              }
          }
      }
      

      } ```

      这段代码会创建一个XingReader实例,并设置其队列大小为10。然后,它会启动一个线程来扫描二维码,直到扫描过程结束。每扫描到一个二维码,就会将其添加到队列中。

      在主循环中,当队列不为空时,会从队列中取出下一个二维码进行扫描。扫描完成后,再将扫描结果添加到队列中,直到扫描过程结束。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部