android讀取掃碼模組數(shù)據(jù)的方法
本文實(shí)例為大家分享了android讀取掃碼模組數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下
android讀取掃碼模組數(shù)據(jù) **在dispatchKeyEvent方法中承接讀取的數(shù)據(jù)**
在dispatchKeyEvent方法中承接讀取的數(shù)據(jù)
private StringBuilder mScanCodeBuilder = new StringBuilder(); @Override public boolean dispatchKeyEvent(@NonNull KeyEvent event) { LogUtil.d(TAG, "dispatchKeyEvent " + event.getAction() + ", " + event.getKeyCode()); checkLetterStatus(event);//判斷大小寫字母 if (event.getAction() == KeyEvent.ACTION_DOWN) { mScanCodeBuilder.append(getInputCode(event)); if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) { //若為回車鍵,直接返回 String scanResult = mScanCodeBuilder.toString(); mScanCodeBuilder.setLength(0); LogUtil.d(TAG, "dispatchKeyEvent, " + scanResult); String scanResults = scanResult.replace(" ", ""); } else { //延遲post,若500ms內(nèi),有其他事件 mHandler.removeCallbacks(mScanningFishedRunnable); mHandler.postDelayed(mScanningFishedRunnable, 500); } return true; } return super.dispatchKeyEvent(event); }
判斷大小寫字母
private void checkLetterStatus(KeyEvent event) { int keyCode = event.getKeyCode(); if (keyCode == KeyEvent.KEYCODE_SHIFT_RIGHT || keyCode == KeyEvent.KEYCODE_SHIFT_LEFT) { if (event.getAction() == KeyEvent.ACTION_DOWN) { //按著shift鍵,表示大寫 mCaps = true; } else { //松開(kāi)shift鍵,表示小寫 mCaps = false; } } }
讀取字符方法
private char getInputCode(KeyEvent event) { int keyCode = event.getKeyCode(); char aChar; if (keyCode >= KeyEvent.KEYCODE_A && keyCode <= KeyEvent.KEYCODE_Z) { //字母 aChar = (char) ((mCaps ? 'A' : 'a') + keyCode - KeyEvent.KEYCODE_A); } else if (keyCode >= KeyEvent.KEYCODE_0 && keyCode <= KeyEvent.KEYCODE_9) { //數(shù)字 aChar = (char) ('0' + keyCode - KeyEvent.KEYCODE_0); } else { //符號(hào) switch (keyCode) { case KeyEvent.KEYCODE_GRAVE: aChar = '`'; break; case KeyEvent.KEYCODE_COMMA: aChar = ','; break; case KeyEvent.KEYCODE_APOSTROPHE: aChar = '\''; break; case KeyEvent.KEYCODE_POUND: aChar = '#'; break; case KeyEvent.KEYCODE_STAR: aChar = '*'; break; case KeyEvent.KEYCODE_PERIOD: aChar = '.'; break; case KeyEvent.KEYCODE_MINUS: aChar = mCaps ? '_' : '-'; break; case KeyEvent.KEYCODE_SLASH: aChar = '/'; break; case KeyEvent.KEYCODE_BACKSLASH: aChar = mCaps ? '|' : '\\'; break; case KeyEvent.KEYCODE_EQUALS: aChar = '='; break; case KeyEvent.KEYCODE_SEMICOLON: aChar = ';'; break; case KeyEvent.KEYCODE_PLUS: aChar = '+'; break; case KeyEvent.KEYCODE_AT: aChar = '@'; break; case KeyEvent.KEYCODE_LEFT_BRACKET: aChar = '['; break; case KeyEvent.KEYCODE_RIGHT_BRACKET: aChar = ']'; break; default: aChar = ' '; break; } } Log.d(TAG, "char" + aChar); return aChar; }
延遲500毫秒相關(guān)
private Handler mHandler = new Handler(this); private final Runnable mScanningFishedRunnable=new Runnable() { @Override public void run() { } };
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android實(shí)現(xiàn)讀取掃碼槍內(nèi)容(條形碼)
- Android實(shí)現(xiàn)USB掃碼槍獲取掃描內(nèi)容
- Android接入U(xiǎn)SB掃碼模塊的方法
- Android 掃碼槍不使用輸入框獲取掃描值的操作方法
- Android實(shí)現(xiàn)掃碼功能
- Android 超簡(jiǎn)易Zxing框架 生成二維碼+掃碼功能
- Android集成zxing掃碼框架功能
- Android手機(jī)(設(shè)備)連接掃描槍掃碼遇到的問(wèn)題
- Android設(shè)備獲取掃碼槍掃描的內(nèi)容與可能遇到的問(wèn)題解決
- Android設(shè)備獲取掃碼槍掃描內(nèi)容
相關(guān)文章
動(dòng)態(tài)添加LinearLayout的高度實(shí)例
下面小編就為大家?guī)?lái)一篇?jiǎng)討B(tài)添加LinearLayout的高度實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04Android獲取手機(jī)聯(lián)系人電話號(hào)碼并返回結(jié)果
這篇文章主要為大家詳細(xì)介紹了Android獲取手機(jī)聯(lián)系人電話號(hào)碼并返回結(jié)果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11android完美實(shí)現(xiàn) 拍照 選擇圖片 剪裁等代碼分享
本文給大家分享了2個(gè)安卓實(shí)現(xiàn)實(shí)現(xiàn) 拍照 選擇圖片 剪裁等的代碼,都是從正式項(xiàng)目中提取出來(lái)了,非常實(shí)用,有需要的小伙伴可以參考下。2016-01-01Android簡(jiǎn)單使用PopupWindow的方法
這篇文章主要為大家詳細(xì)介紹了Android簡(jiǎn)單使用PopupWindow的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03簡(jiǎn)單學(xué)習(xí)Android Socket的使用方法
這篇文章主要幫助大家簡(jiǎn)單學(xué)習(xí)Android Socket的使用方法,感興趣的小伙伴們可以參考一下2016-03-03Android記事本項(xiàng)目開(kāi)發(fā)
這篇文章主要為大家詳細(xì)介紹了Android記事本項(xiàng)目開(kāi)發(fā)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Android關(guān)于SeekBar無(wú)法點(diǎn)擊到最大值問(wèn)題解決方法記錄(推薦)
這篇文章主要介紹了Android關(guān)于SeekBar無(wú)法點(diǎn)擊到最大值問(wèn)題解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Android自定義textview實(shí)現(xiàn)豎直滾動(dòng)跑馬燈效果
這篇文章主要為大家詳細(xì)介紹了Android自定義textview實(shí)現(xiàn)豎直滾動(dòng)跑馬燈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06