【问题标题】:ZXing how to scan QR-Code AND 1D barcode?ZXing如何扫描二维码和一维条码?
【发布时间】:2011-11-06 04:50:18
【问题描述】:

我刚刚在我的应用程序中导入了ZXing库,我知道如何设置putExtra函数来扫描二维码

INTENT = new Intent("com.google.zxing.client.android.SCAN");
INTENT.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(INTENT, 0);

如果我想扫描一维条码

INTENT = new Intent("com.google.zxing.client.android.SCAN");
INTENT.putExtra("SCAN_MODE", "PRODUCT_MODE");
startActivityForResult(INTENT, 0);

但是如何使应用程序能够同时扫描两者? (一维和二维条码)。

谢谢! 马可

【问题讨论】:

    标签: android android-intent barcode zxing


    【解决方案1】:

    如果您只想同时扫描两者(而不仅仅是这两个):

    不要将SCAN_MODE 额外添加到意图中。将条码类型限制为特定类型是可选的。不指定它将扫描所有可能的类型。

    【讨论】:

    • 谢谢,我不知道我能做到这一点 :) 完美!
    【解决方案2】:

    只需浏览这些代码行。它对我来说完全如你所愿。

     Intent intent = new Intent("com.google.zxing.client.android.SCAN");
                  intent.setPackage("com.google.zxing.client.android"); 
                  //intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
                  intent.putExtra("SCAN_FORMATS", "CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF,CODABAR,EAN_13,EAN_8,UPC_A,QR_CODE");
                  startActivityForResult(intent, 0);
    

    【讨论】:

      【解决方案3】:

      我建议使用IntentIntegrator,它是 Zxing 项目中的一个类,我正在与我的一个应用程序一起使用。我提供了该文件的链接。它封装了扫描代码,非常适合简单的扫描功能。 InitialScan 方法是您要查看的地方。享受吧!

      【讨论】:

        【解决方案4】:

        您应该使用“SCAN_MODE”而不是“QR_CODE_MODE”:

        INTENT.putExtra("SCAN_MODE", "QR_CODE_MODE");
        

        应该是

        INTENT.putExtra("SCAN_MODE", "SCAN_MODE");
        

        【讨论】:

        最近更新 更多