android實現(xiàn)掃碼槍功能
更新時間:2021年09月29日 08:28:21 作者:cuncaojin
這篇文章主要為大家詳細介紹了android實現(xiàn)掃碼槍功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
掃碼槍掃碼效果等同于鍵盤錄入,會回調(diào)dispatchKeyEvent鍵盤按下事件。
開發(fā)環(huán)境:有線掃碼槍,支持二維碼
代碼
1. 接收數(shù)據(jù)
/** * 掃碼槍掃碼處理 */ @Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN) { int keyCode = event.getKeyCode(); char aChar = (char) event.getUnicodeChar(); if (aChar != 0) { mStringBufferResult.append(aChar); } mHandler.removeCallbacks(mScanningFishedRunnable); //若為回車鍵,直接返回 if (keyCode == KeyEvent.KEYCODE_ENTER) { mHandler.post(mScanningFishedRunnable); } else { //延遲post,若500ms內(nèi),有其他事件 mHandler.postDelayed(mScanningFishedRunnable, 500L); } return true; } return super.dispatchKeyEvent(event); }
2. 處理數(shù)據(jù)
/** * 二維碼信息對象 */ private QRCode qrCodeBean; /** * 二維碼信息原始數(shù)據(jù)容器 */ private StringBuilder mStringBufferResult = new StringBuilder(); private Handler mHandler = new Handler(); private Runnable mScanningFishedRunnable = new Runnable() { @Override public void run() { scanOk = false; String qrcode = mStringBufferResult.toString(); if (!TextUtils.isEmpty(qrcode)) { // 掃碼確定參數(shù) Gson gson = new Gson(); try { qrCodeBean = gson.fromJson(qrcode, QRCode.class); // 你的代碼... // 如果要支持中文,數(shù)據(jù)用可以URLEncoder/URLDecoder編解碼 } catch (JsonSyntaxException e) { // 解析失敗... } catch (UnsupportedEncodingException e) { // 解碼失敗... } finally { mStringBufferResult.setLength(0); } } } };
參考:Android設(shè)備藍牙連接掃描槍獲取掃描內(nèi)容
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
安卓(Android)動態(tài)創(chuàng)建多個按鈕并添加監(jiān)聽事件
本文主要介紹Android動態(tài)創(chuàng)建多個按鈕并給每個按鍵添加監(jiān)聽事件,在做Android項目會經(jīng)常遇到的,希望對需要用到的同學(xué)有所幫助2016-07-07android 實現(xiàn)按鈕浮動在鍵盤上方的實例代碼
這篇文章主要介紹了android 實現(xiàn)按鈕浮動在鍵盤上方,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03android基礎(chǔ)總結(jié)篇之九:Intent應(yīng)用詳解
這篇文章主要介紹了android基礎(chǔ)總結(jié)篇之九:Intent應(yīng)用詳解,有需要的可以了解一下。2016-11-11???????Android?H5通用容器架構(gòu)設(shè)計詳解
這篇文章主要介紹了???????Android?H5通用容器架構(gòu)設(shè)計詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09