【问题标题】:How To Scan Barcode using Zxing Library in my android App如何在我的 Android 应用程序中使用 Zxing 库扫描条码
【发布时间】:2016-03-19 11:19:32
【问题描述】:

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

我的代码如下

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主要只支持扫描二维码,不支持条码扫描。那正确吗 ? .

请你看看我的问题并帮助我。提前致谢。

【问题讨论】:

  • 扫描成功后为什么要重新启动扫描仪?哪种类型的条码不起作用?您是否厌倦了使用他们的官方应用程序(play.google.com/store/apps/…)来查看是否可以从那里扫描条形码?
  • 在onActivityResult函数中,我再次打开摄像头扫描,对多个条码一一扫描。
  • 我正在扫描在 Web 应用程序中创建的 Code_39 类型条形码

标签: android zxing


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 2012-05-21
    • 2012-04-23
    • 2023-03-06
    • 2011-10-14
    相关资源
    最近更新 更多