当前位置:知之问问>百科知识>android如何支持hid设备

android如何支持hid设备

2024-12-24 08:58:09 编辑:join 浏览量:535

android如何支持hid设备

今天小编和大家分享android如何支持hid设备经验,希望对大家有所帮助。

首先Hid是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏手柄等。

我们知道在手机设置--蓝牙功能界面可以手动搜索蓝牙HID设备并进行连接,这篇博客就是介绍如何在android代码中实现HID设备的连接。最后会给出完整的代码工程。一个前提条件是android4.0以上才支持HID设备。

android手机与蓝牙HID设备连接的步骤:1.开启蓝牙功能; 2.手机搜索蓝牙HID设备 ;3.得到BluetoothDevice,配对HID设备 ;4.连接HID设备 。

了解过蓝牙开发的同学相信前面3个步骤都不是问题,重点介绍第四个步骤,前面的步骤简单列出来。1.开启蓝牙功能,

2.手机搜索蓝牙HID设备,

3.配对HID设备搜索到蓝牙设备后系统会发送这个广播BluetoothDevice.ACTION_FOUND通过监听这个广播就可以得到BluetoothDevice//通过广播接收到了BluetoothDevice

4.连接HID设备 。找遍所有公开的api中是没用方法可以直接连接HID设备的,既然手机设置-蓝牙界面可以连接HID设备,说明系统是可以做到的,那是不是把这个方法隐藏了,我们带着这个疑问去源码看看。

首先我们找到android/bluetooth/BluetoothProfile.class这个类为什么是先找到这个类?Bluetooth的一个很重要特性,就是所有的Bluetooth产品都无须实现全部的Bluetooth规范。为了更容易的保持Bluetooth设备之间的兼容,Bluetooth规范中定义了Profile。Profile定义了设备如何实现一种连接或者应用,你可以把Profile理解为连接层或者应用层协议。所以我们要先确认HID设备属于哪种Profile。

找到定义的INPUT_DEVICE,这就是我们HID设备的Profile,字面意思就是输入设备。找到BluetoothProfile的子类BluetoothInputDevice查看到该类里面的connect方法,入参BluetoothDevice,我们通过步骤三已经得到BluetoothDevice,我们大胆猜想是不是调用这个方法就可以实现连接了呢。

标签:android,hid,设备

版权声明:文章由 知之问问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhzhwenwen.com/article/356597.html
热门文章