千家信息网

Android怎么实现连接蓝牙扫码器无输入框

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍"Android怎么实现连接蓝牙扫码器无输入框"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Android怎么实现连接蓝牙扫码器无输入框"文章
千家信息网最后更新 2025年02月04日Android怎么实现连接蓝牙扫码器无输入框

这篇文章主要介绍"Android怎么实现连接蓝牙扫码器无输入框"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Android怎么实现连接蓝牙扫码器无输入框"文章能帮助大家解决问题。

Android 的APP 需要集成一个蓝牙扫码器, 特别的是,需要扫码的地方是没有输入框的(EditText),不能通过直觉上理解的通过对EditText输入事件进行监听处理,取得扫码结果。并且设备也没有提供SDK。

细想了一下, 蓝牙扫码器本质应该是个HID设备,相当于蓝牙键盘。而后豁然开朗。

每一次扫码应该会触发按键事件,通过监听当前Activity的按键事件,应该可以实现,无输入框的情况下取得扫码结果。

重载Activity中的dispatchKeyEvent实现按键监听。

@Override    public boolean dispatchKeyEvent(KeyEvent event) {        InputDevice inputDevice = event.getDevice();        if (inputDevice != null) {            int keyboardType = event.getDevice().getKeyboardType();            String deviceName = event.getDevice().getName();            boolean isVirtual = event.getDevice().isVirtual();            //可以根据输入设备信息判断是否为特定扫码器输入            if (!isVirtual) {                scannerHelper.onScanerInput(event);            }        }    }

通常扫码器在扫码结果后会追加一个结束字符,我的这个设备默认为回车。 所以接收到回车可以认为一个扫码结果"输入"完成。

public class ScannerHelper {    private String buffer ="";    private MainOneActivity mainOneActivity;    public ScannerHelper(MainOneActivity mainOneActivity){        this.mainOneActivity = mainOneActivity;    }    public void onScanerInput(KeyEvent event){        if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER){            mainOneActivity.onScannerResult(buffer);//回调扫码结果            buffer="";        }else{            if (event.getAction() == KeyEvent.ACTION_UP && event.isPrintingKey()){                buffer +=  (char)event.getUnicodeChar();            }        }    }}

测试OK。

关于"Android怎么实现连接蓝牙扫码器无输入框"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

输入 蓝牙 结果 设备 事件 按键 知识 监听 行业 不同 实用 开朗 豁然开朗 信息 内容 地方 字符 实用性 实际 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京 软件开发 公司 阿里云服务器没有d盘 oracle数据库提交方式 服务器内存条和普条的区别 FIP服务器的创建与管理 网络安全威胁主要途径有哪些 石家庄市桥西区网络安全委员会 数据库系统的核心和基础是( ) 互联网金融下的金融科技公司 未查询到对应的服务器配置 杭州青鸾网络技术有限公司 智能互联网络技术应用就业前景 软件开发商故意放后门 互联网络安全公司 网络安全法网络暴力 万方数据库有会员 经开区租赁管理软件开发公司 战地1武器遭服务器禁用怎么办 如何建立借款合同还款计划数据库 网络技术简写 北京规划软件开发 计算机网络安全问题剖析论文 域名服务器租赁多少钱一年 风电场网络安全保密协议 位置系统和数据库的区别 财务软件开发案例 湖北浪潮服务器续保维护云空间 什么是数据库和应用程序 pi数据库数据解析 网客联盟软件开发 牛牛
0