【问题标题】:ZXing Barcode Scanner Intent: set DecodeHintType.ASSUME_GS1ZXing Barcode Scanner Intent:设置 DecodeHintType.ASSUME_GS1
【发布时间】:2016-11-06 21:18:59
【问题描述】:

在我的应用程序中,我想扫描 GS1-128 条码,并且需要从 ZXing 条码扫描器传递的 FNC1 字符。 现在我只收到没有 FNC1 字符的纯文本。

有没有办法通过 Intent 将 DecodeHintType.ASSUME_GS1 传递给扫描仪应用程序?

我不想在我的应用中包含完整的扫描仪源代码,而是使用 Intent。

在扫描仪的源代码中,我可以看到需要设置 DecodeHintType 以实现: https://code.google.com/p/zxing/source/browse/trunk/core/src/main/java/com/google/zxing/oned/Code128Reader.java

 boolean convertFNC1 = hints != null && hints.containsKey(DecodeHintType.ASSUME_GS1);

感谢您的帮助。 我几乎搜索了整个网络,但没有找到答案。 这让我发疯了......

【问题讨论】:

    标签: android android-intent barcode zxing barcode-scanner


    【解决方案1】:

    最后发现比我想象的要容易:

    intentScan.putExtra("ASSUME_GS1", true);
    

    提示可以设置额外的。 我只需要弄清楚,因为我在任何地方都找不到如何做到这一点。

    我下载了条形码扫描仪的代码并做了一些调试。 但现在我可以使用原始应用程序并通过 Intent 获取条形码。 :-)

    【讨论】:

    • 你好,你有没有碰巧知道在iOS/CPP版本的zing库中如何实现这个?
    • 好的,您也在使用意图进行扫描。我的 iOS 扫描仪现在在 iOS 上运行 GS1 识别。但在应用程序中,没有意图....
    • 你在哪个文件中添加了那行代码?我正在尝试为数据矩阵阅读器实现相同的目标,并想在那里尝试这条线。但是我在 Code128Reader.java 中找不到 intentScan 变量。
    • @MatthiasMax intentScan 变量是您的意图,您必须创建它,例如:Intent intentScan = new Intent("com.google.zxing.client.android.SCAN");
    • 我使用了此处描述的通过 Intent 方法进行扫描:github.com/zxing/zxing/wiki/Scanning-Via-Intent 您可以使用initialScan 方法添加该行。
    【解决方案2】:

    是的,这就是您需要的提示。它将 FNC1 作为 ASCII 29 返回。没有通过 Intent 传递提示的通用方法,但支持一些作为额外的 Intent 附加项。如果您想提交触发此提示的补丁,我会看看。

    【讨论】:

    • 嗨,肖恩,感谢您的帮助。我现在想通了(检查下面的答案)。所以看起来有某种方法可以传递提示。顺便说一句,很棒的产品! :-)
    • 嗨@sean-owen 我正在尝试将 ASSUME_GS1 提示添加到数据矩阵读取器,但没有成功。我应该把调用放在 DataMatrixReader.java 的什么地方?
    • 我正在使用官方的 phonegap 条码扫描器,其中包含 zxing 库。但是我相信它已经过时了,这是正确的吗?它甚至没有定义 ASSUME_GS1 标志:github.com/phonegap/phonegap-plugin-barcodescanner/blob/master/…
    • 换句话说:使用您维护的 zxing 版本,可以看到数据矩阵 FNC1 标识符 ]d2 吗?感谢您的快速提示!
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 2017-09-13
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多