android如何读取扫码模组数据
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章主要介绍了android如何读取扫码模组数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下android读取扫码模
千家信息网最后更新 2025年11月14日android如何读取扫码模组数据
这篇文章主要介绍了android如何读取扫码模组数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
具体内容如下
android读取扫码模组数据 **在dispatchKeyEvent方法中承接读取的数据**
在dispatchKeyEvent方法中承接读取的数据
private StringBuilder mScanCodeBuilder = new StringBuilder(); @Override public boolean dispatchKeyEvent(@NonNull KeyEvent event) { LogUtil.d(TAG, "dispatchKeyEvent " + event.getAction() + ", " + event.getKeyCode()); checkLetterStatus(event);//判断大小写字母 if (event.getAction() == KeyEvent.ACTION_DOWN) { mScanCodeBuilder.append(getInputCode(event)); if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) { //若为回车键,直接返回 String scanResult = mScanCodeBuilder.toString(); mScanCodeBuilder.setLength(0); LogUtil.d(TAG, "dispatchKeyEvent, " + scanResult); String scanResults = scanResult.replace(" ", ""); } else { //延迟post,若500ms内,有其他事件 mHandler.removeCallbacks(mScanningFishedRunnable); mHandler.postDelayed(mScanningFishedRunnable, 500); } return true; } return super.dispatchKeyEvent(event); }判断大小写字母
private void checkLetterStatus(KeyEvent event) { int keyCode = event.getKeyCode(); if (keyCode == KeyEvent.KEYCODE_SHIFT_RIGHT || keyCode == KeyEvent.KEYCODE_SHIFT_LEFT) { if (event.getAction() == KeyEvent.ACTION_DOWN) { //按着shift键,表示大写 mCaps = true; } else { //松开shift键,表示小写 mCaps = false; } } }读取字符方法
private char getInputCode(KeyEvent event) { int keyCode = event.getKeyCode(); char aChar; if (keyCode >= KeyEvent.KEYCODE_A && keyCode <= KeyEvent.KEYCODE_Z) { //字母 aChar = (char) ((mCaps ? 'A' : 'a') + keyCode - KeyEvent.KEYCODE_A); } else if (keyCode >= KeyEvent.KEYCODE_0 && keyCode <= KeyEvent.KEYCODE_9) { //数字 aChar = (char) ('0' + keyCode - KeyEvent.KEYCODE_0); } else { //符号 switch (keyCode) { case KeyEvent.KEYCODE_GRAVE: aChar = '`'; break; case KeyEvent.KEYCODE_COMMA: aChar = ','; break; case KeyEvent.KEYCODE_APOSTROPHE: aChar = '\''; break; case KeyEvent.KEYCODE_POUND: aChar = '#'; break; case KeyEvent.KEYCODE_STAR: aChar = '*'; break; case KeyEvent.KEYCODE_PERIOD: aChar = '.'; break; case KeyEvent.KEYCODE_MINUS: aChar = mCaps ? '_' : '-'; break; case KeyEvent.KEYCODE_SLASH: aChar = '/'; break; case KeyEvent.KEYCODE_BACKSLASH: aChar = mCaps ? '|' : '\\'; break; case KeyEvent.KEYCODE_EQUALS: aChar = '='; break; case KeyEvent.KEYCODE_SEMICOLON: aChar = ';'; break; case KeyEvent.KEYCODE_PLUS: aChar = '+'; break; case KeyEvent.KEYCODE_AT: aChar = '@'; break; case KeyEvent.KEYCODE_LEFT_BRACKET: aChar = '['; break; case KeyEvent.KEYCODE_RIGHT_BRACKET: aChar = ']'; break; default: aChar = ' '; break; } } Log.d(TAG, "char" + aChar); return aChar;}延迟500毫秒相关
private Handler mHandler = new Handler(this); private final Runnable mScanningFishedRunnable=new Runnable() { @Override public void run() { } };感谢你能够认真阅读完这篇文章,希望小编分享的"android如何读取扫码模组数据"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
数据
篇文章
模组
方法
大小
字母
延迟
事件
价值
兴趣
内容
同时
回车键
大写
字符
小写
数字
更多
朋友
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中国网络安全工招聘
网络安全半边天
网络安全员怎么做
福建企业软件开发市场价
如何有效防护服务器被黑
手机网络安全承诺
工控网络安全企业排名
应用软件开发大脑音乐
mysql查数据库有哪些表
数据库如何删除表值函数
新浪分期网络安全保护
无限树形结构数据库创建
z8g4服务器电源
excel数据库模板下载
软件开发工程师的瓶颈
软件开发 需要培训吗
数据库怎样保证数据的有效性
软件开发的职位名称
网络安全法十几条规定
山西文档软件开发定制
unctad数据库用法
扬州服务器维修
roblox加载服务器
新佳利石材贸易软件开发价格
服务器开机后输入不了命令怎么办
源码里的数据库用户名
vc连接mysql数据库
关于网络安全整改报告
广州耀通网络技术有限公司待遇
思睿网络技术有限公司