实现MainActivity,然后接收到的内容,通过接口回调,依次下发到各个业务

 还有另一种用EditText接收付款码的方式,地址:https://blog.csdn.net/qq_39731011/article/details/106383787

    String barcode = "";  // 收到的码结果    String check = "0000";   //特殊码前缀 如:核销码    @Override    public boolean dispatchKeyEvent(KeyEvent event) {        if(event.getAction()==KeyEvent.ACTION_DOWN){            Log.e("dispatchKeyEvent","dispatchKeyEvent: "+event.toString());            char pressedKey = (char) event.getUnicodeChar();            barcode += pressedKey;            Log.e("dispatchKeyEvent","barcode: "+barcode);        }        if (event.getAction()==KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {            Log.e("dispatchKeyEvent","barcode最后: "+barcode);            //  Toast.makeText(MainActivity.this,barcode,Toast.LENGTH_LONG).show();            if(scanKeyManager!=null){                String str = barcode.trim().replace("\n","");                Log.e("付款码:", str + "");//check78787                if (str.length() == 18) {//1346 0952 2362 9255 02                    if (scanKeyManager != null && !str.startsWith(check)){                        scanKeyManager.analysisKeyEvent(str);                    }                }            }else{                if(barcode.startsWith(check)){                    getOrderEnsure(barcode.substring(4).replace("\n",""));                }            }            barcode="";        }        return super.dispatchKeyEvent(event);    }

 

更多相关文章

  1. Android数据存储方式:SharePreference、SQLite、ContentProvider
  2. android从网站获取json接口数据并放置到spinner
  3. Android 开发之 定时器 Handler + Runnable方式
  4. Android定时器实现的几种方式
  5. android两种方式实现圆形图片
  6. Android启动Service的两种方式之startService()

随机推荐

  1. 游标删除多个表里脏数据的方法
  2. SQL重复记录查询的几种方法
  3. SQL直接操作excel表(查询/导入/插入)
  4. mssql 高效的分页存储过程分享
  5. oracle,mysql,SqlServer三种数据库的分页
  6. sql server 2012 数据库所有表里查找某字
  7. SQLSERVER的排序问题结果不是想要的
  8. SqlServer数据库全角转换成半角
  9. 如何创建支持FILESTREAM的数据库示例探讨
  10. 通过sql存储过程发送邮件的方法