central获取scanRspData
各位大神:
我现在想拿到从设备scanRspData中的 local name,我看到论坛上很多帖子都说,只要在GAP_DEVICE_INFO_EVENT事件中,添加
if (pEvent->deviceInfo.eventType == GAP_ADRPT_SCAN_RSP)
{
//pEvtData
}
就可以从pEvtData中拿到相关的信息。我现在觉得很奇怪的是,我scan了一下,搜索到周边有14个设备,GAP_DEVICE_INFO_EVENT事件被触发了16次,但是大部分情况下eventType都等于GAP_ADRPT_ADV_IND。等于GAP_ADRPT_SCAN_RSP的情况只有两三个,我手上有一个遥控器,在手机上都可以搜索到名字的,Scan的结果也显示有这个设备,但是我拿不到这个设备对应的scanRspData。
请教大神们,这是怎么回事,应该要怎么解决?
这个问题我还是一点头绪也没有,求各位大神指点,所有的蓝牙的scanRspData格式都是一样的吗?不同的产品有不同的规范?
代码没有问题,pEvtData应该会有device name。而且如果产品符合蓝牙规范的话,不会搜不出来。
建议抓包看下广播和scan response的内容
问题解决了,我原先一直以为只有scanRspData里面才有LocalName,所以一直去判断GAP_ADRPT_ADV_IND这个Type,再去搜索有没有GAP_ADTYPE_LOCAL_NAME_SHORT || GAP_ADTYPE_LOCAL_NAME_COMPLETE。
后面我在GAP_ADRPT_ADV_IND的Type下面搜索了一下,发现也有LocalName。找到了我想要搜索的设备的名称。
谢谢帮忙 !
不客气,解决就好:)