使用 zxing 读取 9 个扩展条码中的 3 个 - 在 Android 中

Posted

技术标签:

【中文标题】使用 zxing 读取 9 个扩展条码中的 3 个 - 在 Android 中【英文标题】:Reading 3 of 9 extended bar codes using zxing - in Android 【发布时间】:2014-02-07 01:50:35 【问题描述】:

我正在努力将一套昂贵的定制条码阅读器替换为一个漂亮而简单的 android 应用程序。

我正在调用 zxing 包,并且能够读取大多数条码,除了 Code 3 of 9 extended,这是我们业务中当前的标准条码(已经有超过 2000 个条码在流通)。

有没有办法扩展 zxing 包以包含 Code 3 of 9 Extended 条形码??

我当前的代码,它打开谷歌护目镜应用程序并通过 Toast 调用成功显示 QR 码和大多数 1D 条形码信息,我尝试明确定义要读取的代码,但已将该行注释为没有它,扫描仪应该阅读所有可能的代码(仅用于测试):

mGetScanButton = (Button) findViewById(R.id.buttonScan);
mGetScanButton.setOnClickListener(new View.OnClickListener() 


        @Override
        public void onClick(View v) 
             Intent intent = new Intent("com.google.zxing.client.android.SCAN");
                //intent.putExtra("SCAN_FORMATS", "CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF,CODABAR,EAN_13,EAN_8,UPC_A,QR_CODE" );
                startActivityForResult(intent, 0);
        

);

public void onActivityResult(int requestCode, int resultCode, Intent intent) 
    if (requestCode == 0) 
        if (resultCode == RESULT_OK) 
            //  The Intents Fairy has delivered us some data!
            String contents = intent.getStringExtra("SCAN_RESULT");
            //code below will be deleted after testing
            //String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
            // Toast call to display code when read
            Toast.makeText(this, contents, Toast.LENGTH_LONG).show();
            // Handle successful scan
         else if (resultCode == RESULT_CANCELED) 
            // Handle cancel
        
    


非常感谢您的帮助,我不希望工作人员更换所有条形码......虽然这可能是必需的!

代码 39 扩展示例 - 编码数字 = 25

编辑:我的应用实际上是从 zxing 打开 Google Goggle 应用而不是 Barcode Scanner 应用!我现在已经安装了正确的条形码扫描仪应用程序,它可以工作了。非常感谢大家!

【问题讨论】:

您能提供一张条形码 3 的示例图像,共 9 个扩展吗? Code 3 of 9 也称为 Code 39。ZXing 已经支持它,它应该默认启用。您可以使用 Barcode Scanner 应用扫描您的条形码吗? Enrico,谢谢,我没有安装正确的应用程序,因此意图调用使用的是 Google Goggles,它似乎不支持 Code 39 Extended。 【参考方案1】:

我的应用实际上是打开 Google Goggle 应用而不是 zxing 的 Barcode Scanner 应用!我现在已经安装了正确的 Barcode Scanner 应用程序,并且可以正常工作。非常感谢大家!

【讨论】:

以上是关于使用 zxing 读取 9 个扩展条码中的 3 个 - 在 Android 中的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 zxing 库从一张图像中读取多个二维码

如何在 android zxing 中扫描带有嵌入权重的条码

如何使用 zxing 库获取扫描的条码类型?

DataMatrix条码格式在ZXingBarcodeImageView Xamarin Forms Zxing 2.3.2中模糊

Zxing NotFoundException with Barcode 128C

用java程序如何读取图书条形码