获取扫码枪扫码的内容

2019-12-26  本文已影响0人  jiluyixia

获取扫码枪扫码的内容:
String barcode ="";
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getAction()==KeyEvent.ACTION_DOWN){
Log.e(TAG,"dispatchKeyEvent: "+event.toString());
char pressedKey = (char) event.getUnicodeChar();
barcode += pressedKey;
}
if (event.getAction()==KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
Toast.makeText(getApplicationContext(),
"barcode--->>>" + barcode, Toast.LENGTH_LONG)
.show();

        qrEditText.setText(barcode);
        barcode="";
    }
    return super.dispatchKeyEvent(event);
}

参考网址:
下面大哥的评论

另外,扫码枪扫描到内容,会自动换行,有个KEYCODE_ENTER事件,在有些机型上,可能会触发点击事件。把焦点设置到一个没设置点击事件的控件上即可。

获取的扫码枪内容,里面还会掺杂着一些乱码,但是在输入框显示不出来,如果直接把内容拿去匹配一些东西,可能会出错。这里将内容结果过滤一下:
String result = barcode.replaceAll("[^\x20-\x7F]+", "");

上一篇 下一篇

猜你喜欢

热点阅读