scanner-master
scanner-master copied to clipboard
🔥Android扫码枪封装,支持usb键盘自感模式(无须EditText接收),usb com命令控制模式,usb com转串口自感模式
scanner-master
Android 扫码枪封装,Android端获取扫码枪数据一般有如下三种获取方式:
-
USB键盘模式,自感模式(出厂默认):大多数扫码枪是模拟键盘进行输入(不支持包含有汉字的二维码),大多数时候需要使用带焦点的 EditText 接收其扫描的信息。设置一个带焦点的EditText进行接收,此方式容易漏读扩展的ASCII码数据,除非二维码是标准的ASCII码(1-128),此外使用EditText不方便且焦点控制不好导致扫码不到数据。由于扫码枪会将扫描出来的内容转化为键盘事件,对应的就是Android中的KeyEvent事件,所以我们只需要在我们的activity中重写dispatchKeyEvent方法,即可获取相应事件。
-
通过 USB COM连接扫码:发送扫码开关指令进行扫码,即基于Usb相关类控制扫码开关,控制不好容易出问题 特别地:使用此模式前提是先对扫码枪配置USB COM模式,再配置指令触发
-
USB串口自感模式:即串口连接(当扫码枪使用 USB 通讯接口,但主机应用程序是采用串口通讯方式接收数据),客户端只负责监听读取数据,无须控制扫码枪指令,需要依赖usb串口传输数据的第三方库:https://github.com/mik3y/usb-serial-for-android 特别地:使用此模式前提是先对扫码枪配置USB 虚拟串口通讯方式
使用
步骤 1. 在工程跟目录build.gradle文件下添加仓库
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
步骤2. 添加依赖
dependencies {
implementation 'com.github.kellysong:scanner-master:1.1.0'
}
注意
-
使用之前请检查扫码器模式是否设置正确
-
app build.gradle 配置
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }