条形码扫描仪始终读取UPC-E

时间:2015-09-23 12:19:30

标签: java android zxing

我正在使用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块如下:

@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安装了条码扫描器 任何线索都将受到赞赏。

2 个答案:

答案 0 :(得分:2)

你的例子有很多问题。首先,您要添加不需要的核心库代码,因为您要按@Pointcut("within(*..*Service)") public void inServiceClass() {} 进行集成。

其次,出于某种原因,您要调用扫描两次。第二组代码什么都不做。相机参数代码也没有任何作用。

第三,我认为你使用的是另一个项目,而不是Intent用于集成,因为项目中没有zxing方法。除非我忘了这是旧版本或其他东西。

最后,您正在扫描所有setDesiredBarcodeFormats而不是您想要的格式。

答案 1 :(得分:-1)

github zbar code

使用此代码对我有用。