2012-11-12 37 views
18

Bir android barkod tarayıcı uygulamasını bir web sayfasına entegre etme konusunda bütün sabahı araştırıyorum, ancak bilmem gereken şeyi tam olarak bulamadım. Kullanıcının bir android barkod tarayıcısı kullanarak metin alanlarını doldurabileceği bir web sayfasına sahip olmak istiyorum. Dolayısıyla, kullanıcı bir web sayfasında olacak ve metin alanının içine tıklayacak ya da android barkod tarayıcısını başlatan metin alanının yanındaki bir düğmeyi tıklayacaktır. Ardından barkodu tarayacaklar ve metin alanı doldurulacaktı.Web sayfası ile Android barkod tarayıcı entegrasyonu

Bunu nasıl yapacağınıza dair çözümler buldum ve sonra farklı bir sayfaya gittim, ancak kullanıcının aynı sayfada kalması önemlidir. Zxing projesini gördüm ve kullanılabileceğini düşündüm, ancak sayfanın aynı kalmasına izin verip vermediğinden emin değilim.

Bunun mümkün olduğundan ve herhangi birinin bana nasıl yapacağı konusunda üst düzey bir genel bakış sunup sunamayacağını merak ediyorum. Düğme tıklamasıyla gönderilen bir ajax isteği ile yapılabileceğini düşünüyordum. Ajax isteği sunucuma gönderilirdi, sunucu tarayıcıyı başlatan ve ajax yanıtında geri gönderilen verileri döndüren android cihaza bir şeyler gönderirdi. Sunucu kesmek için herhangi bir yolu var ve sadece barkod tarayıcıyı başlatmak android tarayıcı var mı? Zaman ayırdığınız için teşekkür ederim ve bununla ilgili herhangi bir tartışmayı takdir ediyorum. Android

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

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

google örnekler bol vardır adresinin web sayfası ile iletişim kurabilir bir javascript arayüzü ve loadURL (javascript ...) Kullanımı

+0

görüntülenmesiyle web sayfası:

Web sayfalarından

Başvuru için
<!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> 

için barkod tarama için ZXing kütüphanesini kullanabilirsiniz cihaz Tarayıcı?Yoksa göstermek için bir WebView içeren bir barebone uygulaması mı oluşturuyorsunuz? – FoamyGuy

+0

Yanıt için teşekkürler. Web sayfam cihaz tarayıcısında görüntüleniyor. Zaten geliştirilmiş bir sitem var. Kullanıcı arayüzünü değiştirebilir ve javascript ekleyebilirim. Web görüşlerine çok aşina değilim. Herhangi bir siteyi görüntülemek için kullanılabilirler ve siteye gereken herhangi bir değişiklik olur mu? –

+0

Ayrıca web uygulamasının sunucu tarafında da kontrolüm var ve oraya ekleyebilir/değiştirebilirim. Ayrıca, ideal olarak kullanıcının cihaz tarayıcısını kullanacağını söylemek istiyorum. –

cevap

1

.

+0

Yanıt için teşekkürler. Ne demek istediğinden emin değilim. Ben android tarafına aşina değilim. StartQRScan yöntemi web sayfasından çağrılabilir mi? Ardından yük görünümü web sayfasına geri gönderir mi? –

+1

Bunu biraz araştırdım ve ne demek istediğini görüyorum. Sorun şu anda android tarayıcı aracılığıyla zaten geliştirilmekte olan bir site ve bunu değiştirebilir en UI ve ek javascript olduğunu umuyordum. Bunun bir web görüntüsü olmadan yapılıp yapılmayacağını biliyor musunuz? –

+0

Üzgünüm Android tarafında konuştuğunu düşündüm. https://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner Telefon hafızası desteği barkod okuyucu biliyorum ama özellikleri bilmiyorum. Ve sadece tamamlanmak için, evet startQRScan web sayfanızdan callable olur. Pencereden. "Name javascriptinterface" .startQRScan, ancak bu, Android'de kod yazmanız gerektiği anlamına gelir. İsterseniz tam Android kodunu gönderebilirim. – ePeace

17

ZXing (zebra geçişi) barkod tarayıcısını bir web sayfası üzerinden bir düğme tıklatma olayı, bağlantı etiketi veya bir mobil aygıtta URL'yi çağırabilecek diğer eylemler aracılığıyla başlatma yeteneği sağlar. barkod tarayıcı uygulaması bir android cihazda yüklü

, bir URL çağrı:

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

cihaz barkod okuyucu yukarı getirecek, kullanıcı kodu tarar ve kod aracılığıyla döndürülür zxing URL'sinde sağlanan geri arama URL'si parametresi.

Sen bir örnek görebilirsiniz burada (robot üzerinde çalışır): Bu android uygulamasını kullanabilirsiniz http://zxing.appspot.com/scan

+2

Google Play uygulaması: https://play.google.com/store/apps/details?id=com.google.zxing.client.android SSS: https://github.com/zxing/zxing/wiki/Scanning -From-Web-Pages – nepda

+0

Teşekkürler @ michael-jasper .. yanıtınız bana bir örnek web sayfasında zxing entegre başladım yardımcı oldu - http://mvark.blogspot.in/2016/03/how-to-scan-barcode -with-android.html – mvark

+0

geri arama urlen kodlanmış olmalıdır: zxing: // scan /? ret = http% 3A% 2F% 2Ffoo.com% 2Fproducts% 2F% 7BCODE% 7D% 2Fdescription & SCAN_FORMATS = UPC_A, EAN_13 – nvrandow

1

.

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

her yerde açık bir barkod tarayıcı açılan ilave güzel küçük düğme ile bir sıradan bir klavyedir. Barkod tarayıcısı tarafından okunan dize, normalde klavyenin gireceği metin alanına yerleştirilir.

Kullanımı çok kolay.

+0

var mı başka bir uygulama? Özellikle bu uygulama ile ilgili problemlerim var, özellikle tarama kısmında, bana doğru sonuçlar vermiyor. TIA. – Dale

+0

IOS için benzer bir şey var mı? –

5

Android için bu deneyebilirsiniz: Read link