2011-08-29 22 views
15

私はちょうど私のアプリでZXingライブラリをインポートし、私はputExtra機能にスキャンQRコードバーコードセットアップする方法を知っている:QRコードと1Dバーコードをスキャンする方法を教えてください。

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

しかし、私はどのようにアプリケーションを両方のスキャンすることができますか? (1次元および2次元バーコード)。

ありがとうございます! マルコ

答えて

27

あなただけの両方をスキャン(とは排他的にこれら2)する場合:

は意図にSCAN_MODE余分を追加しないでください。バーコードのタイプを特定のタイプに制限する場合はオプションです。これを指定しないと、すべてのタイプがスキャンされます。

+0

感謝する必要があります! –

2

私は使用することをお勧めしますIntentIntegrator私は自分のアプリケーションの1つで使用しているZxingプロジェクトが持っているクラスです。私はファイルへのリンクを提供しました。それはスキャンコードをカプセル化し、簡単なスキャン機能に最適です。 initiateScanメソッドは、見たい場所です。楽しい!

5

これらのコードを実行するだけです。それはあなたが望むように私のために完全に働いています。あなたの代わりに "QR_CODE_MODE" の "SCAN_MODE" を使用する必要があります

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

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

は、:)は完璧に動作し、私はそれを行うことができます知らなかった

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