2011-06-29 14 views
8

को डीकोड कैसे करें मुझे सीधे अपने आवेदन में डीकोड क्यूआर कोड पसंद है, मैं अपने आवेदन को अन्य उद्देश्यों पर रीडायरेक्ट नहीं करना चाहता हूं। मैं किसी एपीआई या लाइब्रेरी को खोजने में बहुत मेहनत करता हूं, जिससे मैं क्यूआर कोड डीकोड कर सकता हूं, लेकिन मैं इसमें सफल नहीं हूं।क्यूआर कोड

किसी को भी कोई विचार है कि मैं अपने एप्लिकेशन या लाइब्रेरी फ़ाइल में क्यूआर कोड कैसे डीकोड कर सकता हूं जिससे मैं क्यूआर कोड डीकोड कर सकता हूं।

+2

यहाँ है एक स्वीकृत जवाब के साथ एक समान प्रश्न: http://stackoverflow.com/questions/5171294/decoding-a-qr-code-in-an-android-application – Mudassir

उत्तर

13

Zxing क्यूआर-कोड के लिए एक उत्कृष्ट पुस्तकालय है। एंड्रॉइड नमूना प्रोजेक्ट समेत आपको वही चाहिए जो आपको चाहिए।

6

यहां एक उदाहरण है कि मैं ज़ेडिंग लाइब्रेरी एंड्रॉइड का उपयोग करके 1 डी बारकोड और 2 डी क्यूआर कोड को डीकोड करने का प्रबंधन करता हूं।

क्यूआर डीकोड करने

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

    Toast toast = Toast.makeText(this, "Start scanning QR code", Toast.LENGTH_SHORT); 
    toast.show(); 

BARCODE डीकोड करने

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

    Toast toast = Toast.makeText(this, "Start scanning Barcode", Toast.LENGTH_SHORT); 
    toast.show(); 

इस कोड पर Android Samsung Galaxy S कार्य किया जाता है (संस्करण 2.2)। आप अलग अलग स्कैन मोड इस लिंक की जाँच जाँच करना चाहते हैं: आप Zxing Intents.java

बेस्ट सादर

+0

REQUEST_BARCODE चर का मान क्या है? केवल यह 3 लाइन बारकोड या किसी अतिरिक्त कक्षा को स्कैन करने में सक्षम हैं? मेरे कोड में मुझे कोई गतिविधि नहीं मिला अपवाद मिला? –

+0

निजी स्थैतिक अंतिम int REQUEST_BARCODE = 0; क्या आपने AndroidManifest.xml में गतिविधि शामिल की थी? – Iker

4

भी कर सकते हैं का प्रयोग करें ZBar बार कोड यहाँ http://sourceforge.net/projects/zbar/?source=dlp

यह बहुत तेजी से ZXing और इसे लागू करना आसान है पाठक।

0
static final String ACTION_SCAN = "com.google.zxing.client.android.SCAN"; 


// Bar Code 

public void scanBarCode(View v) { 

     try { 
      //start the scanning activity from the com.google.zxing.client.android.SCAN intent 

      Intent intent = new Intent(ACTION_SCAN); 

      intent.putExtra("SCAN_MODE", "PRODUCT_MODE"); 

      startActivityForResult(intent, 0); 

     } catch (ActivityNotFoundException anfe) { 

      //on catch, show the download dialog 

      showDialog(AndroidBarcodeQrExample.this, "No Scanner Found", "Download a scanner code activity?", "Yes", "No").show(); 
     } 
    } 


// QR Code 

    public void scanQR(View v) { 

     try { 

      //start the scanning activity from the com.google.zxing.client.android.SCAN intent 

      Intent intent = new Intent(ACTION_SCAN); 

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

      startActivityForResult(intent, 0); 

     } catch (ActivityNotFoundException anfe) { 

      //on catch, show the download dialog 

      showDialog(AndroidBarcodeQrExample.this, "No Scanner Found", "Download a scanner code activity?", "Yes", "No").show(); 
     } 
    } 
4

अब आप उपयोग कर सकते हैं BarcodeDetector नई Android Mobile Vision API

यहाँ अंदर एक उदाहरण https://github.com/Gnzlt/AndroidVisionQRReader

+1

धन्यवाद! तीसरे पक्ष के पुस्तकालयों का उपयोग करने के बारे में बहुत सारे जवाब। ऐसा करने के लिए मूल तरीका ढूंढना आश्चर्यजनक रूप से कठिन था। क्या आप कृपया मुझे बता सकते हैं कि किस एपीआई स्तर से यह समर्थित है? मेरा ऐप एपीआई 17 का उपयोग कर रहा है: एंड्रॉइड 4.2 (जेली बीन)। क्या मैं अभी भी दृष्टि एपीआई का उपयोग कर सकता हूं? – Isuru

+0

बेशक आप कर सकते हैं! सौभाग्य से यह Google Play सेवाओं पर आधारित है ताकि आप इसे API 9 (जिंजरब्रेड) – Gonzalo

+0

के साथ भी उपयोग कर सकें। यह बहुत ही बढ़िया है। धन्यवाद! – Isuru