2011-08-29 74 views
15

我剛剛導入的斑馬線庫在我的應用程序,我知道如何建立putExtra功能掃描QR碼條碼ZXing如何掃描QR碼和一維條碼?

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

但我如何使應用程序能夠掃描兩者? (一維和二維條碼)。

謝謝! 馬爾科

回答

27

如果你只是想同時掃描(而不是僅僅這兩個):

不要SCAN_MODE額外添加到意圖。這是可選的,以將條形碼的類型限制爲某種類型。不指定它會掃描所有可能的類型。

+0

謝謝,我不知道我能做到這一點:)完美的作品! –

2

我推薦使用IntentIntegrator它是Zxing項目中的一個類,我正在使用其中一個應用程序。我提供了一個指向文件的鏈接。它封裝了掃描代碼,非常適合簡單的掃描功能。 initiateScan方法是您想要查看的位置。請享用!

5

只要通過這些代碼行。它正在爲我完美地工作,只要你想。

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

你應該使用,而不是 「QR_CODE_MODE」 「SCAN_MODE」:

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

應該

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