Android 设备接入扫码枪

 

简单理解

扫码枪 是一个文本输入设备,相当于一个键盘.

扫码枪 有不同的模式 ,可以设置扫描条码之后带出的操作.

一般 1.可以直接切换到下一个焦点 (输入框)

        2.可以带出回车键

        3.还有其他很多操作.

这是得力扫码枪的一个文档_http://www.nbdeli.com/images/goods_file0/2017/02/14865619937163.pdf

我使用时,设置成了带出回车键. 效果和手动按enter一样的.这样可以使用android监听enter键的api.

回车键在Android 对应KeyEvent.KEYCODE.ENTER 

EditText需要设置 setOnEditorActionListener(TextView.OnEditorActionListener  eal  ) 它会监听enter事件 扫码枪扫到条码之后 会走到这里.

看一下回调函数TextView.OnEditorActionListener 的 public boolean onEditorAction(TextView v, int actionId, KeyEvent event)

v:getText()可以取出条码的文本和EditText上立刻显示的一样,当然你也可以使用EditText取出来  不过我们可以加工这个字符串 重新设置给EditText.

actionId: 作标识,是跟EditorInfo这里的值对比可以判断执行了什么动作

event: KeyEvent 事件

onEditorAction 这个方法会被多次调用 因为扫码枪也有DOWN事件和UP事件.如果要对文本进行加工最好只在一个事件中操作,否则可能不是你想要的结果.

示例:

/**
 * 扫码枪 enter 监听
 */  
EditText etCode;
etCode.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {        if (event.getAction() == KeyEvent.ACTION_UP) {
           //扫描到的数据
           String s = v.getText().toString().trim();
           //拿到数据后做其他操作



        }
        return true;
   }

 

 

 

你可能感兴趣的:(android)