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 扫码枪获取扫描值内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Android二维码的生成与扫码-zxing示例代码

    由于GitHub上面的zxing功能太多,有的用不到,我就抽取了重要的出来使用,这个可以生成二维码,扫描二维码和相册中的二维码 Demo效果: 1.在project的build.gradle添加如下代码: allprojects { repositories { maven { url 'https://jitpack.io' } } } 2.在build.gradle添加依赖: dependencies { compile 'com.github.goodboy321:Scan-Zxing:1

  • Android 超简易Zxing框架 生成二维码+扫码功能

    zxing是一个二维码的框架. 配置 1. implementation 'com.journeyapps:zxing-android-embedded:4.1.0' 如果报错在这个文件的android下加上如下配置,让其支持Java1.8,不然只有1.7.1.6 (可在'app'右键---->open module settings------>Module看到) compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 tar

  • Android sdutio配置Zxing进行扫码功能的实现方法

    github开源项目(Zxing)demo 最快的调用Zxing方法 1.关联第三方库 2.调用基础的扫码 3.获取返回值 具体代码如下: //1.默认选项启动意图 new IntentIntegrator(MainActivity.this).initiateScan(); // `this` is the current Activity //2.获取得到的结果: @Override protected void onActivityResult(int requestCode, int r

  • 超简单Android集成华为HMS Scankit 扫码SDK实现扫一扫二维码

    前言 最近要做一个停车场扫码收费的app,在网上搜了一圈,首先接触到了ZXing,上手试了下,集成过程不复杂,但是感觉效果欠佳,比如距离稍微远点儿就扫不出来了,另外角度对的不好,反光或者光线比较暗的时候,成功率也比较低,集成好给我们老大看了下,感觉不是很满意.最近偶尔看到了华为一个发布会里面有介绍扫码功能,稍微研究了下,居然是一款免费扫码神器,官方称之为Scan Kit,号称还同时支持Android和iOS,半信半疑上手搞了一把发现效果还真不错!测了下发现对于一些有反光,污损,形变,超远距离的场

  • Android接入USB扫码模块的方法

    前言 USB扫码模块可以是扫描盒子或者扫码枪之类的,一根USB线作为供电和数据通信使用,有些扫码模块支持虚拟串口模式,虚拟串口模式读取数据会比较简单一点,和普通的串口一样操作即可,就是通过虚拟串口口+波特率即可获取到数据,这里主要讲读取USB模式下的数据. 1.读取USB模式下的数据 USB模式下的扫码模块相当于一个外接键盘,也就是它必须在有光标的地方才能进行扫码,且是直接把扫到的内容自动输入到输入框中,并不受我们的控制,所以我们必须另外想办法,安卓系统中有这么个方dispatchKeyEven

  • Android手机(设备)连接扫描枪扫码遇到的问题

    以下内容以我发布前的时间为准,可能之后厂商给设备改进后都没有这些问题. 1.android手机连接扫描枪有些手机显示不了系统键盘 2.连接扫描枪使用的是百度输入法,条码是字母数字组合的扫码会出现乱码(如条码:A0011305150081:小米没有键盘的扫描出现:a0011305150081,啊1305150081,等:华为有键盘的出现:a0011305150081,0011305150081):如下图: 3.连接扫描枪不使用百度输入法,小米手机使用搜狗输入法扫码:A0011305150081,出

  • android读取扫码模组数据的方法

    本文实例为大家分享了android读取扫码模组数据的具体代码,供大家参考,具体内容如下 android读取扫码模组数据 **在dispatchKeyEvent方法中承接读取的数据** 在dispatchKeyEvent方法中承接读取的数据 private StringBuilder mScanCodeBuilder = new StringBuilder(); @Override public boolean dispatchKeyEvent(@NonNull KeyEvent event) {

  • Android集成zxing扫码框架功能

    我们知道zxing是一个强大的处理二维码和条形码等的开源库,本篇文章记录一下自己在项目中集成zxing开源库的过程. 导入依赖 implementation 'com.google.zxing:core:3.3.3' 申请权限 在AndroidManifest中申请相应权限: <!--相机--> <uses-permission android:name="android.permission.CAMERA" /> <!--震动--> <use

  • Android实现USB扫码枪获取扫描内容

    最近做了关于在Android设备上外接扫码的项目,在此记录一下关于Android USB扫码枪获取内容的问题 首先我这边使用是USB HID的扫码枪,即插即用,只需要在界面上有一个带有焦点的EditText ,就可以获取扫码枪扫描的内容. 是不是感觉很简单,但是今天我这里是讲的是在没有EditText 的情况下获取扫码枪扫描的内容. USB HID扫码枪会将扫描出来的内容转化为键盘事件,对应的就是Android中的KeyEvent事件,所以我们只需要在我们的activity中 重写onKeyDo

  • Android实现扫码功能

    本文实例为大家分享了Android实现扫码功能的具体代码,供大家参考,具体内容如下 1.引入 implementation 'com.journeyapps:zxing-android-embedded:3.5.0' 2.使用: public void initScan() { IntentIntegrator integrator = new IntentIntegrator(this); // 设置要扫描的条码类型,ONE_D_CODE_TYPES:一维码,QR_CODE_TYPES-二维码

随机推荐