当ble外设有scan response时,scan response里的ManufacturerData2和广播包里的ManufacturerData1会合并在advertisData里。
问题:在ios和android上ManufacturerData字段的合并顺序不一致。
在ios的顺序:ManufacturerData1,ManufacturerData2
在android的顺序:ManufacturerData2,ManufacturerData1
期望的行为:合并的顺序保持一致,并且按照BLE规范, iOS的顺序才是对的。
你好,复现问题时麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点
其中 “[66, 214, 66, 98, 228, 159, 238, 243, 207, 235, 131, 132, 13, 85, 86, 232, 89, 164, 107, 27, 19, 33, 2, 85, ”属于scan response的,放在前面了;而“14, 242, 93, 240, 36, 149, 12, 76, 63, 64, 159, 138, 241, 123, 19, 63, 153, 235]”属于广播包的,却放在后面了。按照ble规范,手机首先扫到广播包,然后手机发出scan request;外设收到scan request后,才会发出scan response,最后手机才能收到scan response。明显android合并的顺序反了,而ios没有此问题。
试试这个包呢?