我刚刚在我的应用中导入了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条形码)。
谢谢! 马可
答案 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");