2012-11-12 14 views
18

मैं एक एंड्रॉइड बारकोड स्कैनर ऐप को एक वेब पेज में एकीकृत करने के बारे में पूरी सुबह शोध कर रहा हूं, लेकिन मुझे बिल्कुल पता नहीं चला कि मुझे क्या पता होना चाहिए। मैं एक वेब पेज चाहता हूं कि उपयोगकर्ता एंड्रॉइड बारकोड स्कैनर का उपयोग करके टेक्स्ट फ़ील्ड भर सकता है। तो उपयोगकर्ता एक वेब पेज पर होगा और या तो टेक्स्ट फ़ील्ड के अंदर क्लिक करेगा या टेक्स्ट फ़ील्ड के बगल में एक बटन क्लिक करेगा जो एंड्रॉइड बारकोड स्कैनर शुरू करेगा। फिर वे बारकोड स्कैन करेंगे और टेक्स्ट फ़ील्ड भर जाएगा।वेब पेज के साथ एंड्रॉइड बारकोड स्कैनर एकीकरण

मुझे यह कैसे करना है और फिर एक अलग पृष्ठ पर जाएं, लेकिन यह महत्वपूर्ण है कि उपयोगकर्ता एक ही पृष्ठ पर रहता है। मैंने zxing प्रोजेक्ट देखा है और सोचा है कि इसका उपयोग करने में सक्षम हो सकता है, लेकिन मुझे यकीन नहीं है कि यह पृष्ठ को वही रहने की अनुमति देता है या नहीं।

मुझे पूरा यकीन है कि यह संभव है और यह सोच रहा है कि कोई मुझे उच्च स्तर का अवलोकन दे सकता है कि वे इसे कैसे करेंगे। मैं सोच रहा था कि यह एक एजेक्स अनुरोध के साथ किया जा सकता है जो बटन क्लिक पर सबमिट हो जाता है। AJAX अनुरोध मेरे सर्वर पर भेजा जाएगा, सर्वर एंड्रॉइड डिवाइस पर कुछ भेज देगा जो स्कैनर शुरू करेगा और डेटा को वापस कर देगा जो बदले में AJAX प्रतिक्रिया में वापस भेजा जाता है। क्या सर्वर को काटने का कोई तरीका है और अभी एंड्रॉइड ब्राउज़र बारकोड स्कैनर शुरू कर रहा है? आपके समय के लिए धन्यवाद और मैं इस पर किसी भी चर्चा की सराहना करता हूं।

+0

अपने वेब पेज में देखा जा रहा है:

आप वेबपृष्ठों

<!DOCTYPE html> <script type="text/javascript"> //This entire block of script should be in a separate file, and included in each doc in which you want scanner capabilities function zxinglistener(e){ localStorage["zxingbarcode"] = ""; if(e.url.split("\#")[0] == window.location.href){ window.focus(); processBarcode(decodeURIComponent(e.newValue)); } window.removeEventListener("storage", zxinglistener, false); } if(window.location.hash != ""){ localStorage["zxingbarcode"] = window.location.hash.substr(1); self.close(); window.location.href="about:blank";//In case self.close is disabled }else{ window.addEventListener("hashchange", function(e){ window.removeEventListener("storage", zxinglistener, false); var hash = window.location.hash.substr(1); if (hash != "") { window.location.hash = ""; processBarcode(decodeURIComponent(hash)); } }, false); } function getScan(){ var href = window.location.href.split("\#")[0]; window.addEventListener("storage", zxinglistener, false); zxingWindow = window.open("zxing://scan/?ret=" + encodeURIComponent(href + "#{CODE}"),'_self'); } </script> <html> <head> <script type="text/javascript"> function processBarcode(b){ var d = document.createElement("div"); d.innerHTML = b; document.body.appendChild(d); } </script> </head> <body> <button onclick="getScan()">get Scan</button> </body> </html> 

संदर्भ के लिए के लिए बारकोड स्कैन के लिए ZXing पुस्तकालय का उपयोग कर सकते डिवाइस ब्राउज़र?या आप एक बेयरबोन ऐप बना रहे हैं जिसमें इसे दिखाने के लिए वेबव्यू है? – FoamyGuy

+0

प्रतिक्रिया के लिए धन्यवाद। मेरा वेब पेज डिवाइस ब्राउज़र में देखा जा रहा है। मेरे पास एक ऐसी साइट है जो पहले ही विकसित हो चुकी है। मैं यूआई बदल सकता हूं और मैं जावास्क्रिप्ट जोड़ सकता हूं। हालांकि मैं वेब-विचारों से बहुत परिचित नहीं हूं। क्या उन्हें किसी भी साइट को प्रदर्शित करने के लिए इस्तेमाल किया जा सकता है और साइट पर कोई बदलाव आवश्यक होगा? –

+0

मेरे पास वेब एप्लिकेशन के सर्वर पक्ष पर भी नियंत्रण है और वहां भी जोड़/संशोधित कर सकते हैं। मैं यह भी कहना चाहता हूं कि आदर्श रूप से उपयोगकर्ता डिवाइस ब्राउज़र का उपयोग करेगा। –

उत्तर

1

एक जावास्क्रिप्ट इंटरफेस और loadurl (जावास्क्रिप्ट ...) आप एंड्रॉयड

public void loadScript(String script){  
    webview.loadUrl("javascript:(function() { " + script + "})()");    
} 

private class JavaScriptInterface {  
    public void startQRScan() { 
     ... 
    } 
} 

गूगल पर उदाहरण के बहुत सारे हैं से अपने वेबपेज के साथ संवाद कर सकते का उपयोग करना।

+0

प्रतिक्रिया के लिए धन्यवाद। हालांकि आप का क्या मतलब है इसके बारे में भी निश्चित नहीं है। मैं एंड्रॉइड पक्ष से बहुत परिचित नहीं हूँ। क्या शुरूआती RRScan विधि वेब पेज से कॉल करने योग्य होगी? फिर लोड व्यू इसे वापस वेब पेज पर भेजता है? –

+1

मैंने इसे थोड़ा सा गुगल किया और देखें कि आपका क्या मतलब है। मुद्दा यह है कि मैं एंड्रॉइड ब्राउजर के माध्यम से ऐसी साइट से ऐसा करने की उम्मीद कर रहा था जो पहले से विकसित हो चुका है और जितना अधिक मैं बदल सकता हूं वह यूआई और अतिरिक्त जावास्क्रिप्ट है। क्या आप जानते हैं कि यह वेब व्यू के बिना किया जा सकता है? –

+0

मुझे खेद है कि मैंने सोचा था कि आप एंड्रॉइड पक्ष के बारे में बात कर रहे थे। https://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner मुझे फ़ोनगैप समर्थन बारकोड्सकेनर पता है लेकिन मुझे विशिष्ट जानकारी नहीं है। और बस पूरा होने के लिए, हाँ startQRScan आपके वेबपृष्ठ से कॉल करने योग्य होगा। विंडो के माध्यम से। "नाम जावास्क्रिप्टइंटरफेस" .startQRScan, लेकिन इसका मतलब यह होगा कि आपको एंड्रॉइड में कोड करना होगा। यदि आप चाहते हैं कि मैं पूरा एंड्रॉइड कोड पोस्ट कर सकता हूं। – ePeace

17

ZXing (ज़ेबरा क्रॉसिंग) क्षमता एक बटन क्लिक करें घटना, एंकर टैग, या अन्य कार्रवाई है कि एक मोबाइल डिवाइस पर एक यूआरएल कह सकते हैं के माध्यम से एक वेब पेज के माध्यम से बार कोड स्कैनर आरंभ करने के लिए प्रदान करता है।

जब बारकोड स्कैनर आवेदन एक Android डिवाइस पर स्थापित किया गया है, के लिए एक URL कॉल:

zxing://scan/?ret=http://foo.com/products/{CODE}/description&SCAN_FORMATS=UPC_A,EAN_13 

उपकरण बार कोड पाठक लाएगा, उपयोगकर्ता कोड को स्कैन करता है, और कोड के माध्यम से दिया जाता है zxing यूआरएल में आपूर्ति कॉलबैक यूआरएल पैरामीटर।

आप एक उदाहरण देख सकते हैं (एंड्रॉयड पर काम करता है) यहाँ: http://zxing.appspot.com/scan

+2

Google Play ऐप: https://play.google.com/store/apps/details?id=com.google.zxing.client.android अक्सर पूछे जाने वाले प्रश्न: https://github.com/zxing/zxing/wiki/Scanning -फ्रॉम-वेब-पेज – nepda

+0

धन्यवाद @ माइकल-जैस्पर .. आपके उत्तर ने मुझे नमूना वेब पेज में ज़िक्सिंग को एकीकृत करने में शुरुआत करने में मदद की - http://mvark.blogspot.in/2016/03/how-to-scan-barcode -with-android.html – mvark

+0

कॉलबैक को urlencoded होना चाहिए: zxing: // scan /? ret = http% 3A% 2F% 2Ffoo.com% 2 उत्पाद% 2F% 7BCODE% 7D% 2 फ़ेस्क्रिप्शन और SCAN_FORMATS = UPC_A, EAN_13 – nvrandow

1

आप इस Android एप्लिकेशन का उपयोग कर सकते हैं।

https://play.google.com/store/apps/details?id=com.tecit.android.barcodekbd.full&hl=en

यह एक अतिरिक्त अच्छी छोटी बटन खुले एक बारकोड स्कैनर कहीं भी पॉप के साथ एक नियमित कीबोर्ड है। बारकोड स्कैनर द्वारा पढ़ी गई स्ट्रिंग को टेक्स्टफील्ड में पॉप्युलेट किया जाता है जहां आमतौर पर कीबोर्ड इसे दर्ज करता।

इसका उपयोग करना बहुत आसान है।

+0

क्या आपके पास है एक और आवेदन? क्योंकि मुझे इस ऐप के साथ समस्याएं आ रही हैं, खासकर स्कैनिंग भाग पर, यह मुझे सटीक परिणाम नहीं देती है। TIA। – Dale

+0

क्या आपके पास आईओएस के लिए कुछ समान है? –

5

आप Android के लिए यह कोशिश कर सकते हैं: Read link

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