可以在Android中定制ZXing,以处理保存多个QR码而无需重新加载相机



我已经成功集成了ZXing QR Scanner。我所做的是重复扫描一旦用户完成扫描1 QR码。我遇到的问题是,如果我用这种方法多次扫描QR码,ZXing的相机重装速度非常慢。有更好的方法吗?我正在考虑保存所有扫描,而不需要重新加载相机(关闭和打开)。

我只扫描我自己定制的QR码,所以我不需要处理其他格式。

扫描
 Intent intent = new Intent("com.google.zxing.client.android.SCAN");
 intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
 startActivityForResult(intent, 0);

检索
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
    if (resultCode == RESULT_OK) {
        String contents = intent.getStringExtra("SCAN_RESULT");
        String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
        // Handle successful scan
        //..
        //Repeat scan for next QR code
        Intent i = new Intent("com.google.zxing.client.android.SCAN");
        i.putExtra("SCAN_MODE", "QR_CODE_MODE");
        startActivityForResult(i, 0);
    }
    else  {
        // Handle cancel
        //...
    }
}

ZXing在重新加载任何东西时并不慢——这是相机驱动程序初始化相机所花费的时间。没有太多的办法。但是,如果你想,你可以不关闭相机,保持预览运行。

查看应用程序的批量扫描模式-它已经可以扫描而无需停止显示结果。

最新更新