@Override public boolean onKeyDown(int keyCode, KeyEvent event) { //only catch need char (different with every one) char unicodeChar = (char) event.getUnicodeChar(); if (((keyCode >= KeyEvent.KEYCODE_0 && keyCode <= KeyEvent.KEYCODE_Z) || unicodeChar == '-') ) { isInput = true; unicodeChar = (char) event.getUnicodeChar(); sb.append(unicodeChar); //wait a delay time 500ms for read all data ( adjustment for your bar code scanner) if (isInput) { mHandler.postDelayed(new Runnable() { @Override public void run() { if (sb.length() != 0) { String str = sb.toString(); //save your String to UI Component isInput = false; } }, DELAY); } } return false; }
我們透過OTG連接條碼掃描器,經過測試,有以下個注意事項。
(1)不是每台平板都支援OTG。
(2)不同平板對於條碼掃出來的結果可能會有差異。
2.1 有些平板,掃描出來的內容顯示到EditText極慢,像單手打一樣,難以判斷是輸入完成沒,或是出現異常的換行符號,掃描一組條碼可能出現多行換行。
2.2 OTG供電可能不穩定,導致條碼機異常。
(3)OTG接頭不要買線太細的,容易供電不足,小小一個轉換頭也不賴。
經驗分享,使用前請進行測試 。
(4)其實你可以以條碼的檢查碼進行確認是否己讀取完畢,不過此案用的這支條碼掃描器是可以自己識別多種格式條碼的,所以用這種檢查方式比較不適合 。
沒有留言:
張貼留言