【问题标题】:Scandit not recognizing a barcodeScandit 无法识别条形码
【发布时间】:2025-12-04 06:45:02
【问题描述】:

我在使用 Android 上的 Scandit 时遇到了条形码问题(见附件)。我正在添加所有符号而不是猜测。使用 Scandit 4.14.1 版。

同样的条形码适用于旧版本的 Scandit(不知道版本,但它至少有一年的历史,如果不是两年的话)。

添加所有符号的代码如下所示:

    ScanSettings scanSettings = ScanSettings.create();
    scanSettings.setCameraFacingPreference(ScanSettings.CAMERA_FACING_BACK);

    for (int sym : Barcode.ALL_SYMBOLOGIES) {
      scanSettings.setSymbologyEnabled(sym, true);
    }

条形码是 CODE 128 类型,其中一些可以扫描,但我还有一些不能扫描。更有趣的是,PlayStore 上的 Scandit 演示应用程序可以扫描那些我遇到问题的应用程序。他们最新的应用声称使用的是 4.14.1。

任何帮助将不胜感激。同时,我可能会尝试与他们联系,看看这种条形码是否存在特定问题。

【问题讨论】:

  • 感谢 -1 没有评论,这是非常有建设性的。 :-|

标签: android


【解决方案1】:

原来 CODE 128 需要特殊设置。仅添加所有符号是不够的。这是为了启用可变长度符号。

    ScanSettings scanSettings = ScanSettings.create();
    scanSettings.setCameraFacingPreference(ScanSettings.CAMERA_FACING_BACK);

   // Code 128
    scanSettings.setSymbologyEnabled(Barcode.SYMBOLOGY_CODE128, true);
    SymbologySettings code128Settings = scanSettings.getSymbologySettings(Barcode.SYMBOLOGY_CODE128);
    code128Settings.setActiveSymbolCounts(
        new short[] {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}
    );

以下是有关此的更多信息:

http://docs.scandit.com/stable/android/android-active-symbols-counts.html http://docs.scandit.com/stable/c_api/symbologies.html

【讨论】: