在Android HCI日志中发现的BLE GATT服务的不完整列表在getServices()中返回

时间:2018-05-17 06:12:49

标签: android bluetooth-lowenergy gatt hci

我正在连接具有自定义固件和4项服务的BLE设备,其中2项是自定义服务,每种服务都有一个自定义特性。

在成功连接后使用discoverServices()时,在HCI日志中找到4个服务(参见下面的Wireshark屏幕)。

Wireshark HCI log

但是我自己的Android代码和nRF蓝牙应用程序中只有3个服务从getServices()返回,而第三个服务缺少其唯一的特性:

enter image description here

第四项服务及其特点无处可寻。

连接事件后所有活动的更长HCI日志,包括其中一个可见特征的特征读取,在此处链接: HCI log subset

1 个答案:

答案 0 :(得分:2)

在包54中,存在读取类型响应。内容是包含句柄0x0211和值00的项“属性数据”。该值(00)无效。特征声明必须具有以下值组件:

  • 特征属性(1个字节),特征属性的位字段
  • 特征值句柄(2个字节),包含此特征值的属性句柄
  • 特征UUID(2或16字节),16位蓝牙UUID或特殊值的128位UUID

因此该值应该总共为5或19个字节。你的值是1个字节。