केवल क्यूआर कोड पढ़ने के लिए स्कैनर सेट करें और अन्य प्रकार के बारकोड को अनदेखा करें - जावा, एंड्रॉइड, क्यूआर-कोड, ज़क्सिंग

मैं क्यूआर कोड स्कैन करने के लिए इस पुस्तकालय का उपयोग कर रहा हूं। यह लाइब्रेरी बहुत सरल है, लेकिन मुझे केवल क्यूआर कोडों के जवाब देने के लिए इसे समझने का प्रयास करने में कठिनाई हो रही है।

यह इसके पीछे जेएक्सिंग का उपयोग करता है।

CamView

    //MARK - scannerLiveView
ZXDecoder decoder=new ZXDecoder();
decoder.setScanAreaPercent(0.5);

ScannerLiveView scannerLiveView = (ScannerLiveView) findViewById(R.id.scannerLiveView);
scannerLiveView.setDecoder(decoder);

यहाँ देखें कि मैंने यह कैसे किया। लेकिन समस्या यह है कि यह सभी तरह के बार कोड का जवाब देता है। मैं इसे केवल क्यूआर कोड पर प्रतिक्रिया देना चाहता हूं।

कोई विचार??

उत्तर:

उत्तर № 1 के लिए 1

समस्या यह है कि ZXDecoder को सभी संभावित प्रारूपों को स्कैन करने के लिए हार्डकोड किया गया है। https://github.com/LivotovLabs/CamView/blob/53e3112592980754628bab2b770ed16900b9c407/CAMView/src/main/java/eu/livotov/labs/android/camview/scanner/decoder/zxing/ZXDecoder.java। आप एक नया वर्ग QRDecoder बना सकते हैं जो ZXDecoder जैसा ही दिखता है लेकिन मल्टीफॉर्मैट रीडर बनाने के बजाय इसे बनाना चाहिए QRCodeReader


संबंधित सवाल
सबसे लोकप्रिय