最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android實(shí)現(xiàn)掃碼槍功能

 更新時(shí)間:2021年09月29日 08:28:21   作者:cuncaojin  
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)掃碼槍功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

掃碼槍掃碼效果等同于鍵盤錄入,會(huì)回調(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ù)

 /**
 * 二維碼信息對(duì)象
 */
   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è)備藍(lán)牙連接掃描槍獲取掃描內(nèi)容

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

罗山县| 苏州市| 本溪市| 连云港市| 昌邑市| 申扎县| 综艺| 达拉特旗| 泰州市| 济源市| 临清市| 文登市| 东方市| 贵港市| 晋宁县| 盐津县| 仁化县| 岳阳市| 桑植县| 泗洪县| 喀什市| 杂多县| 酉阳| 靖西县| 阳朔县| 睢宁县| 凤山市| 浪卡子县| 陇川县| 江安县| 缙云县| 辽宁省| 尼木县| 山西省| 晋州市| 东辽县| 卓尼县| 思南县| 长子县| 南川市| 锡林浩特市|