我正在使用 zxing 在我的应用程序中实现条码扫描器。 问题是扫描结果始终将 UPC-E 检测为扫描格式并返回错误结果。有什么办法可以解决这个问题吗?
我正在使用以下代码启动扫描:
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");//for Qr code, its "QR_CODE_MODE" instead of "PRODUCT_MODE"
intent.putExtra("SAVE_HISTORY", false);//this stops saving ur barcode in barcode scanner app's history
startActivityForResult(intent, 0);
OnActivity block 如下:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Log.d("SEARCH_EAN", "OK, EAN: " + contents + ", FORMAT: " + format);//this is the result
} else
if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
已使用Barcode-4.7.3.apk安装条码扫描仪 任何线索将不胜感激。
最佳答案
您的示例有很多问题。首先,您要添加不需要的核心库代码,因为您是通过 Intent
进行集成的。
其次,出于某种原因,您调用了两次扫描。第二组代码什么都不做。相机参数代码也什么都不做。
第三,我认为您正在使用不同的项目,而不是 zxing
进行集成,因为项目中没有 setDesiredBarcodeFormats
方法。除非我忘记这是旧版本或其他版本。
最后,您正在扫描所有 ONE_D_CODE_TYPES
而不是您想要的格式。
关于java - 条码扫描仪始终读取 UPC-E,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32739434/