【问题标题】:How to trigger bulk mode scan in zxing如何在 zxing 中触发批量模式扫描
【发布时间】:2013-04-09 21:37:16
【问题描述】:

我读到有一个在 zxing 中启用批量模式扫描的键。我可以知道如何在 android 应用程序中启用此密钥吗?

我目前正在使用此类代码单独扫描条形码:

Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_FORMATS", "PRODUCT_MODE,CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF");

startActivityForResult(intent, 0); // start the scan

谢谢!

【问题讨论】:

  • “批量模式扫描”是什么意思?
  • 就像ZXing一旦启动摄像头,它会一直扫描条码到一个列表中,并且只有当用户点击一个按钮时摄像头才会退出。此列表可以存储为论坛中其他人提到的 csv 文件。
  • 从现有的实施中看起来不像你可以。看,code.google.com/p/zxing/source/browse/trunk/android/src/com/… 相反,您必须将其构建到您的应用程序中并对其进行修改以执行您想要的操作。

标签: android zxing


【解决方案1】:

我不认为zxing内部没有“批量模式”的概念。

您当然可以在自己的应用程序中使用 zxing 来实现您正在寻找的行为。使用您在问题中已有的代码第一次启动扫描。将此声明添加到您的班级:

ArrayList<String> results;

然后在 onCreate before 中添加它来初始化它:

results = new ArrayList<String>();

在 onActivityResult() 中,您可以将当前结果添加到 ArrayList 中,然后开始下一次扫描。

/*Here is where we come back after the Barcode Scanner is done*/
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == 0) {
        if (resultCode == RESULT_OK) {
            // contents contains whatever the code was
            String contents = intent.getStringExtra("SCAN_RESULT");

            // Format contains the type of code i.e. UPC, EAN, QRCode etc...
            String format = intent.getStringExtra("SCAN_RESULT_FORMAT");

            // Handle successful scan. In this example add contents to ArrayList
            results.add(contents);

            Intent intent = new Intent("com.google.zxing.client.android.SCAN");
            intent.putExtra("SCAN_FORMATS", "PRODUCT_MODE,CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF");
            startActivityForResult(intent, 0); // start the next scan
        } else if (resultCode == RESULT_CANCELED) {
            // User hass pressed 'back' instead of scanning. They are done.
            saveToCSV(results);
            //do whatever else you want.
        }
    }
}

将它们保存到 CSV 文件超出了这个特定问题的范围,但是如果您环顾四周,您可以找到如何执行此操作的示例。把它留空作为一个练习供你学习。

【讨论】:

  • 它作为 Android 应用 Barcode Scanner 中的一个设置存在,但它不会通过 Intent 公开。
  • @SeanOwen 是的。但我看到有一个选项可以启用批量扫描模式。但是,除非我将 src 代码导入程序,否则我似乎找不到任何方法来启用它。也许将来会有这个 Intent 进行批量扫描并返回一个列表。谢谢!
  • @SeanOwen 希望你能看到这个。如果我了解 Barcode Scanner 应用中批量扫描模式的工作原理 - 相机预览会在一定延迟后重置?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-09
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
相关资源
最近更新 更多