蓝牙HID配置文件驻留在哪里?

时间:2010-07-30 16:52:55

标签: java android bluetooth mobile-phones

我是Android开发的新手,作为一个宠物项目,我想尝试使用Android手机使用HID配置文件连接到蓝牙设备。我将使用的手机是充满活力的,根据三星,它不支持HID配置文件(http://ars.samsung.com/customer/usa/jsp/faqs/faqs_view_us.jsp?SITE_ID=22&PG_ID=2&PROD_SUB_ID=557&PROD_ID=560&AT_ID=281257)。现在我的问题是这个“个人资料”在哪里?它是在硬件级别还是在软件级别(我假设后者来自我读过的其他来源)。如果是后者,可以使用蓝牙上的RFCOMM通信创建HID实现(这是我在android蓝牙API中看到的唯一看似可行的方法)。

我只是想确保在尝试实现可能无法实现的功能之前理解该技术。

提前致谢。

2 个答案:

答案 0 :(得分:2)

由于HID配置文件与RFCOMM配置文件处于同一级别,我认为您不能在后者之上实现前者。

当然,HID配置文件是在软件中实现的,但在Android堆栈中,这将是Java下的一层。如果我理解正确,必须在内核级别启用它(因为HID基本上添加了驱动程序)。

在谷歌上搜索我发现this post,这家伙将HID配置文件添加到Android平台,玩一些自定义Android图像并启用一些内核功能(但主要是为了能够连接到某些Apple产品)

答案 1 :(得分:2)

如果您查看此处提供的蓝牙HID规范:http://www.dawidurbanski.pl/public/download/projekty/bluepad/HID_SPEC_V10.pdf,您将很快了解到为了连接到HID设备并实施此配置文件,您需要能够打开两个L2CAP通道(中断和控制)。

某些HTC Android设备和某些三星设备无法使用L2CAP。

然而,有一个Android应用程序已经实现了HID配置文件,包括L2CAP通道和报告描述符解析器,搜索Teksoft Blueinput。据报道,根据我上面提到的限制,它仅适用于某些设备。

除非Google实施完整的蓝牙堆栈并将其公开给开发人员,否则制作此HID配置文件并非易事。