Android 扫码盒子全局接收付款码(全局事件&上层接收&多重下发)
16lz
2021-01-23
实现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); }
更多相关文章
- Android数据存储方式:SharePreference、SQLite、ContentProvider
- android从网站获取json接口数据并放置到spinner
- Android 开发之 定时器 Handler + Runnable方式
- Android定时器实现的几种方式
- android两种方式实现圆形图片
- Android启动Service的两种方式之startService()