【发布时间】: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。
标签: java android zxing barcode-scanner