2016-11-24 10 views
9

के साथ कस्टम क्यूआर कोड पढ़ें I Q12 कोड पढ़ने के लिए com.google.android.gms.vision.barcode.BarcodeDetector का उपयोग करें। समस्या यह है कि इन कोडों में कच्चे बाइनरी डेटा होते हैं; कोई फोन नंबर नहीं, कोई यूआरएल नहीं, कोई geopoints ... मैं इन क्यूआर कोड नहीं बदल सकता, क्योंकि वे एक अलग आवेदन में उत्पन्न होते हैं।एंड्रॉइड विजन बारकोड एपीआई - क्यूआर कोड पढ़ने के लिए बाइनरी डेटा

जब मैं एंड्रॉइड बारकोड एपीआई का उपयोग करके इन क्यूआर कोड स्कैन करता हूं, परिणामी Barcode ऑब्जेक्ट मुझे कच्चे डेटा तक पहुंचने की अनुमति नहीं देता है, हालांकि इसे जानना चाहिए!

मुझे "Unknown encoding" संदेश rawValue और displayValue गुण दोनों में मिलता है।

byte[] संपत्ति String गुणों की बजाय संपत्ति अधिक समझ में आती है, क्योंकि क्यूआर कोड सामान्य डेटा ले सकते हैं।

मुझे डेवलपर्स से कच्चे डेटा बाइट सरणी को छिपाने का बिंदु नहीं दिख रहा है। क्या मुझे किसी भी तरह की आवश्यकता होने के लिए BarcodeDetector कक्षा या Barcode कक्षा का विस्तार कर सकता है?

संपादित करें:

enter image description here


QR Codes - raw binary data है:

यह हालांकि यह डेटा की 1024 बाइट वहन करती है, एक बिल्कुल वैध QR कोड है, जो विजन एपीआई द्वारा पढ़ा नहीं जा सकता है संबंधित है, लेकिन यह मेरी समस्या का समाधान नहीं करता है।

+0

यह एक बहुत ही अस्पष्ट सवाल है ... मैं भी उत्पादन कोड में '... vision.barcode ...' api का उपयोग करता हूं। क्या आप एक उदाहरण क्यूआर साझा कर सकते हैं? – Algar

+0

@Algar Sure, मेरा संपादन देखें। – vojta

+0

क्षमा करें, मैं उम्मीद कर रहा था कि मैं स्रोत से वास्तविक (वास्तविक) कच्चे मूल्यों को आउटपुट कर सकता हूं लेकिन वहां कोई भाग्य नहीं है .. मुझे लगता है कि वहां 'शून्य' मान हैं या ऐसे डेटा में जो एन्कोडिंग विफल हो जाता है। बहुत लंगड़ा लगता है कि कच्चे डेटा का पता उपलब्ध है लेकिन .. एक समस्या दर्ज करने का प्रयास करें [यहां] (https://github.com/googlesamples/android-vision/issues)। :( – Algar

उत्तर

1

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

मैं बाइट के साथ अपने ही बारकोड वस्तु के साथ अपने ही BarcodeDetector लिखेंगे [] rawData क्यूआर-कोड से आ रहा है और() मेरी बारकोड कार्यान्वयन के लिए rawData आवंटित करने के लिए विधि का पता लगाने के लिए ओवरराइड डेटा प्रकार के रूप में। चूंकि आपका मामला आवश्यकता के लिए बहुत विशिष्ट है, इसलिए आपको अपना खुद का कार्यान्वयन लिखने में संकोच नहीं करना चाहिए। इसे दूसरों के लिए भी जिथूब पर साझा किया जा सकता है।

1

मैं this library module के माध्यम से बाइनरी सामग्री के साथ क्यूआर-कोड पढ़ रहा हूं। पुराने जेएक्सिंग ने बॉक्स के बाइनरी पेलोड को प्रदान नहीं किया, हालांकि नया बाइनरी पेलोड प्रदान करता है - लेकिन जहां तक ​​मुझे याद है, केवल एक जानकार प्रारूप के हिस्से के रूप में।

संबंधित मुद्दे