这篇文章主要介绍了Android 扫码枪不使用输入框获取扫描值的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
dispatchKeyEvent获取扫描结果

这是在CSDN上看到的评论,打印出来的并没有有关扫描的信息,我把打印的日志放在了最外层,发现其中一条是有关扫描的条码 event
Action:ACTION_MULTIPLE,keyCode:KEYCODE_UNKNOWN
dispatchKeyEvent: KeyEvent { action=ACTION_MULTIPLE, keyCode=KEYCODE_UNKNOWN, scanCode=0, characters="3433422404403", metaState=0, flags=0x0, repeatCount=0, eventTime=365996, downTime=365996, deviceId=-1, source=0x101 }
获取扫描文本
上面获取扫描文字使用 event.getUnicodeChar() 获取,目前我打印出来的结果是 :0,上面打印的结果,我猜想是 event.getCharacters()
onKeyMultiple
action的类型是 ACTION_MULTIPLE,可直接通过重写onKeyMultiple方法去过滤掉其他的event
@Override
public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) {
Log.e("TAG", "onKeyMultiple------: " + event.toString());
Log.i("TAG", "onKeyMultiple------: " + event.getCharacters());
return super.onKeyMultiple(keyCode, repeatCount, event);
}
打印结果
E/TAG: onKeyMultiple------: KeyEvent { action=ACTION_MULTIPLE, keyCode=KEYCODE_UNKNOWN, scanCode=0, characters="3433422404403", metaState=0, flags=0x0, repeatCount=0, eventTime=3548959, downTime=3548959, deviceId=-1, source=0x101 }
I/TAG: onKeyMultiple------: 3433422404403
event.getCharacters()弃用问题 (返回String)
https://stackoverflow.com/questions/59103860/android-keyevent-getcharacters-or-keyevent-characters-is-deprecated
并未找到可替代的方案。目前使用这种方式解决了现有问题
到此这篇关于Android 扫码枪不使用输入框获取扫描值的操作方法的文章就介绍到这了,更多相关Android 扫码枪获取扫描值内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Android 扫码枪不使用输入框获取扫描值的操作方法
基础教程推荐
- Flutter手势密码的实现示例(附demo) 2023-04-11
- android studio按钮监听的5种方法实例详解 2023-01-12
- iOS开发教程之XLForm的基本使用方法 2023-05-01
- Android开发使用RecyclerView添加点击事件实例详解 2023-06-15
- Android中的webview监听每次URL变化实例 2023-01-23
- Android多返回栈技术 2023-04-15
- Flutter绘图组件之CustomPaint使用详解 2023-05-12
- IOS 播放系统提示音使用总结(AudioToolbox) 2023-03-01
- IOS应用内跳转系统设置相关界面的方法 2022-11-20
- 解决Android Studio突然不显示logcat日志的问题 2023-02-04
