ZXing如何扫描QR码和1D条码?

时间:2011-08-29 17:17:56

标签: android android-intent barcode zxing

我刚刚在我的应用中导入了ZXing库,我知道如何将putExtra功能设置为扫描QR码条码

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

如果我想扫描 1D条形码

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

但是如何让App能够同时扫描? (1D和2D条形码)。

谢谢! 马可

4 个答案:

答案 0 :(得分:28)

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

不要在意图中添加SCAN_MODE额外内容。这是可选的,以将条形码的类型限制为某种类型。不指定它将扫描所有可能的类型。

答案 1 :(得分:7)

只需浏览这些代码。它完全按照你的意愿为我工作。

 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);

答案 2 :(得分:2)

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

答案 3 :(得分:2)

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

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

应该是

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