IData掃碼槍的遺留的坑

2021-08-14 22:23:53 字數 1965 閱讀 8209

首先在oncraete()中配置scannerinte***ce,這個類會在你購買裝置的時候提供給你。

mscanner = new scannerinte***ce(this);

mscanner.open(); //

掃瞄引擎上電,該介面請勿頻繁呼叫,頻繁關閉串列埠會導致程式卡死

mscanner.setoutputmode(1); //

掃瞄結果輸出模式,此處為廣播輸出模式

mscanner.unlockscankey(); //

釋放裝置的掃瞄按鍵,釋放後

iscan

無法控制掃瞄按鍵,使用者可自定義掃瞄按鍵

mscanner.enableplaybeep(true); //

是否允許蜂鳴反饋

mscanner.enablefailureplaybeep(false); //

掃瞄失敗蜂鳴反饋

mscanner.enableplayvibrate(true); //

震動開啟與關閉

mscanner.timeoutset(2); //

設定掃瞄延時2秒

"aaa");

"bbb");

mscanner.lightset(false); //開啟/

關閉左上角掃瞄指示燈

mscanner.seterrorbroadcast(true);//

掃瞄錯誤廣播

//掃瞄結果的意圖過濾器

action

一定要使用

"android.intent.action.scanresult"

mintentfilter = new intentfilter();

mintentfilter.addaction(res_action);

mresultreceiver = new takeresultreceiver();

registerreceiver(mresultreceiver, mintentfilter);

其中,要注意的是意圖過濾器一定要用他們提供的res_action,

private static final 

string

res_action= "android.intent.action.scanresult";

也可以設定物理按鍵開啟掃瞄,只需要監聽你需要監聽的物理按鍵呼叫start()和stop()的方法就可以了。

/**

* 指定

139的物理按鍵(中間黃色按鍵)按下來出發掃瞄

*/public boolean onkeydown(int

keycode, keyevent

event)

return super.onkeydown(keycode, event);

}public boolean onkeyup(int

keycode, keyevent

event) else if (keycode == 140) else

}return super.onkeyup(keycode, event);

}

最後,掃瞄的結果會以廣播的方式接收,自定義乙個廣播繼承broadcastreceiver,重寫它的onreceive()方法中通過

intent.getstringextra("value")獲取到掃瞄結果的字串,對字串進行你想到要的邏輯操作即可。

private class 

takeresultreceiver

extends

broadcastreceiver else }}

}

鑑於本人也是剛做開發的新手,有不足之處,還望各位多多指正,共同進步。

掃碼槍掃碼的問題

今天來總結下,掃碼槍遇到的一些問題。ps 參考了 博主的文章 剛開始掃碼用的是edittext edittext edittext edittext findviewbyid r.id edittext edittext.addtextchangedlistener watcher private ...

實現條碼槍的無焦點掃碼

在上一家公司創業初期,我接觸的第乙個專案是醫院的 室消毒包管理系統,幾乎一人之力用了兩個多月的時間,完成了基本的開發工作。回想起來,當時有個設計印象深刻。趁著還有記憶,記錄下來,供大家一時之需。當時開發的時候,對於物資的管理,自然離不開條碼槍的角色。設計的是無線條碼槍,讓工作人員可以自由的在作業現場...

js 條碼槍掃瞄 js 獲取掃碼槍輸入資料的方法

1 掃碼槍相當於鍵盤輸入裝置,輸入一連串數字後加乙個enter鍵。但在實際開發中需要區分是掃瞄槍輸入還是鍵盤使用者輸入,區別在於掃碼槍輸入很快。let code let lasttime,nexttime let lastcode,nextcode window.document.onkeypres...