You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于GATT的Android极简蓝牙键盘按键无响应,咨询GATT配置问题

问题分析与解决建议

从你提供的GATT日志和代码来看,存在一个明显的GATT配置错误,同时还有几个需要验证的关键项:

1. Report Reference Descriptor(00002907)配置错误

日志中onDescriptorReadRequest: 00002907-...返回的数据是2a 4d,完全不符合该描述符的规范:

  • Report Reference Descriptor(UUID 00002907)由两个字节组成:
    • 第1字节:Report ID(若HID报告未使用ID,填0x00即可)
    • 第2字节:Report Type,合法值仅为0x01(输入报告,对应键盘按键事件)、0x02(输出报告)、0x03(特征报告)
  • 当前返回的0x4d不是合法的Report Type,会导致Windows无法识别该特征对应的HID报告类型,自然无法处理你发送的按键数据。
  • 正确配置应为返回0x00 0x01(无Report ID的输入报告)。

2. 其他需要验证的点

(1)确认特征与服务UUID正确性

  • 代码中BtConstants.REPORT_CHARACTERISTIC必须对应HID Report特征的标准UUID:00002a4d-0000-1000-8000-00805f9b34fb,UUID错误会导致数据发送到无关特征,无法被识别。
  • HID服务的标准UUID是00001812-0000-1000-8000-00805f9b34fb,请确认HID_SERVICE取值正确。

(2)Report特征的属性配置

HID Report特征必须包含PROPERTY_NOTIFY属性,同时建议配置PERMISSION_READ和PERMISSION_WRITE权限,确保系统能正常交互。

(3)完善按键发送流程

HID键盘的按键事件需要成对发送:

  • 先发送按键按下报告:{0x00, 0x0B}(对应H键)
  • 延迟100ms左右,发送空报告:{0x00, 0x00}释放按键
    仅发送按下报告不发送释放报告,部分系统可能不会触发按键响应。

内容的提问来源于stack exchange,提问作者stud0709

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:01:43