【发布时间】:2014-12-11 22:17:17
【问题描述】:
我知道论坛中有另一个帖子与此主题相同,但我无法解决我的问题,我已经尝试了所有方法,但它不起作用。
事情是这样的,我试图让 ZXing 的barcodeScanner 在我正在开发的 android 中读取 interleaved 2 of 5 的条形码格式,但它不起作用。扫描仪保持屏幕上的红灯,但根本不读取条形码。
我正在使用“android-integration-2.3.0.jar”,从这里下载http://mvnrepository.com/artifact/com.google.zxing/android-integration/2.3.0, 但它根本不读取我的条形码。我确定问题不在于我的条码,它是这里一家著名银行的官方条码。 这是我遵循的教程: http://techiedreams.com/android-zxing-barcode-scanner-integration/
无论如何,让我给你看一些代码:这就是我调用 barCodeScanner 的方式
ImageView ivBarCode = (ImageView) findViewById(R.id.ivPagamentosCodBar); ivBarCode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_FORMATS", "AZTEC,CODABAR,CODE_39,CODE_93,CODE_128,DATA_MATRIX,EAN_8,EAN_13,ITF,MAXICODE,PDF_417,QR_CODE,RSS_14,RSS_EXPANDED,UPC_A,UPC_E,UPC_EAN_EXTENSION");
startActivityForResult(intent, 0);
}
});
这就是我阅读信息的方式: 或者至少,认为它应该可以工作:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// if (data == null) {
// ringProgressDialog.dismiss();
// return;
// }else
if (requestCode==IntentIntegrator.REQUEST_CODE)
{
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (scanResult != null)
{
String codBar = scanResult.toString();
Toast.makeText(PagamentosContas.this, codBar, Toast.LENGTH_LONG).show();
Log.e("Código de Barras",codBar);
Log.e("Código de Barras",codBar);
Log.e("Código de Barras",codBar);
}
else
{
// else continue with any other code you need in the method
Toast.makeText(PagamentosContas.this, "scanResult is null.", Toast.LENGTH_LONG).show();
}
}
// else{
// String valor = data.getStringExtra("valor");
// valor = valor.replace(",", ".");
//
// pagamento.setValorConta(valor);
// ThreadPagamentosContas thread1 = new ThreadPagamentosContas();
// thread1.start();
// ringProgressDialog.dismiss();
// }
}
它根本不读取任何条形码,或者当它读取时,做错了,由 EAN3 获取 5 中的交错 2...
以下是官方条形码的示例: https://drive.google.com/file/d/0ByQMtFUGwDRBWnZObkFBcDR1RVk/edit
提前致谢。 这让我发疯了好几个月......
【问题讨论】:
-
您是否尝试过其他条码仅用于测试?您确定来自相机的图像具有足够的分辨率和对比度吗?我会拍几张条形码,将它们保存为图像,然后尝试将它们输入 zxing 命令行,看看它们是否因质量问题而失败。
-
我已经尝试了很多带有好相机的设备,甚至是差相机。劣质的摄像头根本无法读取,配备好的摄像头的设备读取条形码全错,甚至是格式类型。已经尝试过,ZBar、FixBoletoFree、SDTBarcodeSDKForAndroid,然后都没有实际工作。我认为也许我做错了什么,但我遵循了所有这些工具的分步指南。没有工作。
标签: java android integration barcode zxing