iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android实现USB扫码枪获取扫描内容
  • 480
分享到

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

2024-04-02 19:04:59 480人浏览 独家记忆
摘要

最近做了关于在Android设备上外接扫码的项目,在此记录一下关于Android USB扫码枪获取内容的问题 首先我这边使用是USB HID的扫码枪,即插即用,只需要在界面上有一个带

最近做了关于在Android设备上外接扫码的项目,在此记录一下关于Android USB扫码枪获取内容的问题

首先我这边使用是USB HID的扫码枪,即插即用,只需要在界面上有一个带有焦点的EditText ,就可以获取扫码枪扫描的内容。

是不是感觉很简单,但是今天我这里是讲的是在没有EditText 的情况下获取扫码枪扫描的内容。

USB HID扫码枪会将扫描出来的内容转化为键盘事件,对应的就是Android中的KeyEvent事件,所以我们只需要在我们的activity中

重写onKeyDown方法


@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        checkLetterStatus(event);
        keyCodeToNum(keyCode);
        if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) {
            Log.e("键盘事件", buffer.toString());
            buffer.delete(0, buffer.length());
            return true;
        }
 
        return false;
}

上面我们说了扫码枪是响应我们的键盘事件,所以当扫码枪每扫描到一个字符的时候,就相当于按下了我们键盘上的对应按键,也就是keyCode,因此我们只需要处理这个keyCode就行了。

下面我把checkLetterStatus()检查是否大小写的方法跟keyCodeToNum()根据对应的keycode转换对应的数字跟字母 


//检查shift键
    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;
            }
        }
    }
    //根据keycode得到对应的字母和数字
    private void keyCodeToNum(int keycode) {
        if (keycode >= KeyEvent.KEYCODE_A && keycode <= KeyEvent.KEYCODE_Z) {
            if (mCaps) {
                buffer.append(map.get(keycode).toUpperCase());
            } else {
                buffer.append(map.get(keycode));
            }
 
        } else if ((keycode >= KeyEvent.KEYCODE_0 && keycode <= KeyEvent.KEYCODE_9)) {
            buffer.append(keycode - KeyEvent.KEYCODE_0);
        } else {
            //暂不处理特殊符号
        }
 
    }

上面的方法里面有个map,是用来存储字母的


Map<Integer, String> map = new HashMap<>();        
        map.put(29, "a");
        map.put(30, "b");
        map.put(31, "c");
        map.put(32, "d");
        map.put(33, "e");
        map.put(34, "f");
        map.put(35, "g");
        map.put(36, "h");
        map.put(37, "i");
        map.put(38, "g");
        map.put(39, "k");
        map.put(40, "l");
        map.put(41, "m");
        map.put(42, "n");
        map.put(43, "0");
        map.put(44, "p");
        map.put(45, "q");
        map.put(46, "r");
        map.put(47, "s");
        map.put(48, "t");
        map.put(49, "u");
        map.put(50, "v");
        map.put(51, "w");
        map.put(52, "x");
        map.put(53, "y");
        map.put(54, "z");

最后用一个StringBuffer 来接收处理过的数据。大概就这样吧!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Android实现USB扫码枪获取扫描内容

本文链接: https://www.lsjlt.com/news/137005.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android实现USB扫码枪获取扫描内容
    最近做了关于在Android设备上外接扫码的项目,在此记录一下关于Android USB扫码枪获取内容的问题 首先我这边使用是USB HID的扫码枪,即插即用,只需要在界面上有一个带...
    99+
    2024-04-02
  • Android设备获取扫码枪扫描内容
    条形码扫码枪现在随处可见,可以很迅速地扫描出条形码内容,比什么手机相机扫码快了不是一点两点。 为了节约成本,扫码枪可以直接通过蓝牙连接android或其他设备。 那么android...
    99+
    2024-04-02
  • Android设备如何获取扫码枪扫描的内容
    这篇文章将为大家详细讲解有关Android设备如何获取扫码枪扫描的内容,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。那么android设备如何通过蓝牙获取扫描内容的呢?1. 蓝牙配对,连接设备打开系统设置...
    99+
    2023-05-30
    android
  • Android设备蓝牙连接扫描枪获取扫描内容
    条形扫描枪主要可以扫描条形码和二维码等,扫描速度比手机扫描设备快得多,本文简单介绍android 通过蓝牙监听蓝牙连接,当扫描设备连接完成后,扫描设备相当于外接键盘,通过监听外接键盘...
    99+
    2024-04-02
  • Android实现读取扫码枪内容(条形码)
    近期有个需求,安卓设备外接扫码枪,系统读取扫码枪扫描的内容。 网上查了一些例子,拿过来用的时候都不太好使,最后没办法,自己实现了一个(目前只支持英文字母和英文符号)。 代码如下: 1...
    99+
    2024-04-02
  • js获取USB扫码枪数据的方法
    本文实例为大家分享了js获取USB扫码枪数据的具体过程,供大家参考,具体内容如下 废话不多说,直接上代码,这个方法避免了 首字缺失,字符串乱码等等问题,特别好用,记录一下 中间的Aj...
    99+
    2024-04-02
  • Android 扫码枪不使用输入框获取扫描值的操作方法
    dispatchKeyEvent获取扫描结果 这是在CSDN上看到的评论,打印出来的并没有有关扫描的信息,我把打印的日志放在了最外层,发现其中一条是有关扫描的条码 event Ac...
    99+
    2024-04-02
  • android实现扫码枪功能
    扫码枪扫码效果等同于键盘录入,会回调dispatchKeyEvent键盘按下事件。 开发环境:有线扫码枪,支持二维码 代码 1. 接收数据 @Override ...
    99+
    2024-04-02
  • Angular.js实现扫码枪扫码并生成二维码
    目录前言扫码枪扫码生成二维码前言 举个例子: 商品都有自己的序列号 SN。那么当我们将这些商品打包的时候,我们就需要生成一份商品的 SN 清单,将其贴在箱子的表面以查看。但是冗长的...
    99+
    2023-03-08
    Angular.js生成二维码 Angular.js扫码枪扫码
  • android商户扫码枪读取手机二维码
    扫码抢实现读取二维码信息,本地扫码枪是外接写入设备,本质是监控读写输入,下面介绍下扫码设备读取支付二维码。 1.引入扫码设备辅助类 public class ScanGunKey...
    99+
    2024-04-02
  • flutter优雅实现扫码枪获取数据源示例详解
    目录前言痛点问题如何在不改动源码的方式下,动态控制焦点是否触发键盘弹出?1.系统键盘弹出的原因2. 如何拦截 methodChannel3. 拦截思路扫码库更新前言 在往期的分享中...
    99+
    2023-01-11
    flutter扫码枪获取数据源 flutter 扫码枪
  • Angular.js如何实现扫码枪扫码并生成二维码
    这篇文章主要讲解了“Angular.js如何实现扫码枪扫码并生成二维码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Angular.js如何实现扫码枪扫码并生成二维码”吧!扫码枪扫码这个比较...
    99+
    2023-07-05
  • Android BLE怎么实现扫码枪基于BLESSED开发
    这篇文章主要介绍“Android BLE怎么实现扫码枪基于BLESSED开发”,在日常操作中,相信很多人在Android BLE怎么实现扫码枪基于BLESSED开发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-06-29
  • Flutter实现二维码扫描
    本文实例为大家分享了Flutter实现二维码扫描的具体代码,供大家参考,具体内容如下 配置安卓访问权限: 1. 文件配置路径android\app\src\main\AndroidM...
    99+
    2024-04-02
  • Android中怎么实现二维码扫描功能
    这期内容当中小编将会给大家带来有关Android中怎么实现二维码扫描功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 开发准备1.1 android studio 安装&emsp;&e...
    99+
    2023-06-04
  • 基于barcodescanner实现Android二维码扫描功能
    二维码扫描现在成为一种非常常见的APP基础功能,附录1是我曾经用过的二维码/条形码扫描开源项目,但是附录1的项目集成和二次定制比较繁琐和麻烦,因此可以发现不少人基于ZXing做了二次的开发,并贡献出这些项目,发到github上,其中barc...
    99+
    2023-05-30
    android 二维码 barcodescanner
  • Android中google Zxing实现二维码与条形码扫描
    Android中google Zxing实现二维码与条形码扫描了解二维码这个东西还是从微信中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一张图片中扫一下竟然能直接加好友,不可思议啊,那时候还不了解二维码,呵呵,然后做项目的时候,老板说...
    99+
    2023-05-31
    android zxing 二维码
  • Android实现扫码功能
    本文实例为大家分享了Android实现扫码功能的具体代码,供大家参考,具体内容如下 1、引入 implementation 'com.journeyapps:zxing-and...
    99+
    2024-04-02
  • Android studio 实现生成二维码和扫描二维码
    效果图 build.gradle(:app)添加依赖 dependencies { implementation 'com.google.zxing:core:3.3.3' imple...
    99+
    2023-09-30
    android studio android ide
  • vue项目elementUIinput框扫码枪扫描过快出现数据丢失问题及解决方案
    目录项目需求:解决方案探索错误代码:问题就出在解决方法完整代码 如下项目需求: 输入框要掉两个接口,根据第一个验证接口返回的code,弹不同的框,点击弹框确认再掉第二个接口 根据...
    99+
    2022-12-08
    vue扫码枪 vue element UI input框扫码枪 vue扫码枪数据丢失
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作