2014-10-17 154 views
-3

我想開發一個應用程序,通過USB條形碼掃描器讀取條形碼..我的問題是,我不知道如何通過應用程序訪問這個條形碼掃描器,並閱讀值..我想知道如何檢測條形碼掃描儀和使用它..任何想法或鏈接將有助於我可以用來了解這些東西..我是新來的機器人..如何將條碼掃描器與android應用程序集成?

+0

使用斑馬線庫.... – 2014-10-17 07:39:30

+0

我試圖that..but它與相機僅.. – Akshay 2014-10-17 07:41:46

+0

的可能重複的工作[使用ZXing創建一個Android條碼掃描應用程序](http://stackoverflow.com/questions/2050263/using-zxing-to-create-an-android-barcode-scanning-app) – 2Dee 2014-10-17 07:41:50

回答

0

假設你的USB條碼掃描儀是鍵盤楔形模式(即當您掃描條形碼時,就好像您將數字輸入到活動窗口一樣),那麼您不必執行任何操作。只需將條形碼插入迷你USB適配器並掃描即可。從onKeyDown事件中檢索條碼數據。

+0

謝謝你的幫助..我試試這個.. – Akshay 2014-10-17 08:44:51

+0

在4.x設備上它會「按下」任何隨機按鈕。不知道如何解決它:( – djdance 2016-07-19 16:13:38

+0

我在我的活動中使用textviews而不是按鈕。 – 2016-07-20 02:37:41

1

終於我得到這個工作。

重要!在android 2.3上,你可以在OnKeyDown事件中捕獲條形碼,但在4.3中,你的真實掃描器將按任何聚焦的按鈕,所以把代碼放入dispatchKeyEvent並返回true。

某些按鈕仍然會聚焦(選中,預先按下,突出顯示,只有上帝知道它是什麼),但新聞事件不會被解僱。如果有人知道如何避免這個問題(除自動對焦移動...)告訴我

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 

    //barcode scanner 
    int c=event.getUnicodeChar(); 
    //accept only 0..9 and ENTER 
    if ((c>=48 && c<=57) || c==10){ 
     if (event.getAction()==0) { 
      if (c >= 48 && c <= 57) 
       barcode += "" + (char) c; 
      else { 
       if (!barcode.equals("")) { 
        final String b = barcode; 
        barcode = ""; 
        new Thread(new Runnable() { 
         public void run() { 
          checkBarcode(b); 
          //there you get a string and compare it or store etc 
         } 
        }).start(); 
       } 
      } 
     } 
     return true; 
    } 
    return super.dispatchKeyEvent(event); 
} 
相關問題