如何在我的Android应用程序中使用Zxing Library扫描条形码

时间:2016-03-19 11:19:32

标签: android zxing

我正在开发与条形码扫描相关的应用程序。当我要扫描条形码时,一些条形码会得到结果,而某些条形码无法扫描。

我的代码如下

cam_scan_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            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,UPC_E,ITF,RSS_14");
            intent.putExtra("SAVE_HISTORY", false);
            startActivityForResult(intent, 0);
        }
    });


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 0) {
        if (resultCode == RESULT_OK) {
            String contents = data.getStringExtra("SCAN_RESULT");
            String format = data.getStringExtra("SCAN_RESULT_FORMAT");
            System.out.println(contents + "/n" + format);
            BarcodeId.setText(contents);

            ScannedBarcode();

            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,ITF,RSS14");
            startActivityForResult(intent, 0);
            // Handle successful scan
        } else if (resultCode == RESULT_CANCELED) {
            // Handle cancel
        }
    }
}

从上面的代码中,我无法扫描所有条形码,我添加了用户权限,包括zxing lib android库。

在onActivityResult功能中,我再次打开相机扫描,逐个扫描多个条形码。

通过参考教程,我知道zxing libs主要支持扫描QR码而不是条形码。是对的吗 ?

请您查看我的问题并帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您是否尝试使用BarcodeScanner应用程序扫描条形码?如果这样做有效,那么您构建的用于启动扫描仪应用程序的Intent有问题。

另外我建议将请求代码从0更改为某个随机正数。也许这就是为什么你没有得到任何结果。

相关问题