问题点6:Android BLE具体连接flow 并问询DB的API flow 之第三、四阶段问询;
-->此时开始进行第三阶段: 通过“Read By Type Request”+ Attribute Type :PnP ID”问询类似BR/EDR 中的DI信息;(这一步的实现比较隐晦),还没有彻底梳理流程,这里就不乱写,免得误导。
对应的opcode是:GATT_REQ_READ_BY_TYPE(0x08)
对应的Attribute Type是:GATT_UUID_GATT_SRV_CHGD (0x2A05)
-->开始进入第四阶段问询;
在当前Android 某手机和市场某主流蓝牙游戏手柄的交互中,其第四阶段问询,通过“Read Request + Handle值”问询了Battery Level值、HID 的Information以及HID Report Map;
对应的Opcode是:GATT_REQ_READ
而当前特定问询了Battery Level值(UUID 0x2A19),HID的Information(UUID 0x2A4A)以及HID Report Map(UUID 0x2A4B);
在原生BT中,
代表Battery Level的UUID是GATT_UUID_BATTERY_LEVEL(0x2A19);
HID 的Information的UUID是GATT_UUID_HID_INFORMATION(0x2A4A);
以及HID Report Map的UUID是GATT_UUID_HID_REPORT_MAP(2A4B);
-->原生BT中实现第四阶段问询的是API 是gatt_act_read;