3

是否有任何解决方法可以在 JAVA ME 中使用 L2CAP 连接到 HID 设备(使用移动设备原生的 JSR-82 规范实现而不是 BlueCove 等)?

我知道 HID 设备通常使用值为 0x0011 的 PSM(协议服务多路复用器)。不幸的是,我发现:

合法的 PSM 值在 (0x1001..0xFFFF) 范围内,最低有效字节必须是奇数,所有其他字节必须是偶数。

上面解释了为什么javax.microedition.io.Connector connect()当我尝试以下代码时方法会抛出异常:

Connector.open("btl2cap://600010120296:11");
4

1 回答 1

0

此页面表明该限制已在 JSR-82 1.2 中删除:

合法的 PSM 值在 (0x0005..0xFFFF) 范围内,最低有效字节必须是奇数,所有其他字节必须是偶数。当服务器连接字符串没有 psm 参数时,实现分配的服务器 PSM 值必须不小于 0x1001。

和评论:

从 L2CAP PSM 值中删除保留范围,以允许 Java 应用程序使用基于“保留”范围内的 PSM 值构建在 L2CAP 之上的蓝牙协议。

此外,“中断端点”是 PSM 0x13(这是键盘、鼠标等发送主动报告的地方,就像它们在控制通道 (0x11) 上发送响应 GET_REPORT 一样)。

于 2014-01-05T04:02:23.973 回答