gpt4 book ai didi

android - Zxing ITF 条码无法在自定义应用程序中扫描

转载 作者:行者123 更新时间:2023-11-29 01:52:16 31 4
gpt4 key购买 nike

我正在尝试在我的一个应用程序中使用 zxing 条形码来扫描条形码。我已经使用 Intent 在单击按钮时启动条形码扫描仪。

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

我发现大多数条码都可以很好地扫描,但是当我尝试在我的应用程序中扫描 ITF(Interleaved 2 of 5)条码时,它不起作用,但如果我只使用 zxing 条码扫描器,它就可以正常工作。

现在我已经搜索了一段时间,并了解到我可以使用 ALLOWED_LENGTH。我找不到太多关于如何将此信息传递给扫描仪的信息。我尝试了以下但它并没有真正产生任何影响。

**int[] item = new int []{6, 7, 8, 9, 10, 11, 12, 13};**
**intent.putExtra("ALLOWED_LENGTHS", item);**

我将上面的两行添加到我的代码中。有人可以让我知道实现此目标的正确方法是什么吗?

提前致谢

最佳答案

解决方案

intent.putExtra("SCAN_MODE", Intents.Scan.ONE_D_MODE);

注意:您可能应该使用提供的 Intent ,而不是硬编码附加字符串

解释

这与允许的长度无关。 ITF 不是 PRODUCT_MODE 格式之一

PRODUCT_FORMATS = EnumSet.of(BarcodeFormat.UPC_A,
BarcodeFormat.UPC_E,
BarcodeFormat.EAN_13,
BarcodeFormat.EAN_8,
BarcodeFormat.RSS_14,
BarcodeFormat.RSS_EXPANDED);

它包含在一维格式列表中

ONE_D_FORMATS = EnumSet.of(BarcodeFormat.CODE_39,
BarcodeFormat.CODE_93,
BarcodeFormat.CODE_128,
BarcodeFormat.ITF,
BarcodeFormat.CODABAR);
ONE_D_FORMATS.addAll(PRODUCT_FORMATS);

额外更改您的 Intent 将启用 ITF 支持,但可能会产生其他后果(例如产品搜索功能)

关于android - Zxing ITF 条码无法在自定义应用程序中扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17180555/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com