亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)文章

最新評論