使用 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 中的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android zxing 中扫描带有嵌入权重的条码
DataMatrix条码格式在ZXingBarcodeImageView Xamarin Forms Zxing 2.3.2中模糊