我在测试修改attDeviceName的时候发现一个问题:
修改之后Android会马上修改;iOS 的APP需要连接之后才能显示修改成功。请问这个该怎么解决啊?
附:
1、iOS APP:lightblue、sensortag(TI )
2、在论坛上看到https://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/114221.aspx这个帖子,也是问的同样的问题。但是为什么信驰达的模块就可以马上修改成功呢?
3、修改名字程序如下:
GGS_SetParameter(GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN, attDeviceName); GAPRole_SetParameter(GAPROLE_SCAN_RSP_DATA, len, scanRspData); // Updata device name GAP_UpdateAdvertisingData(selfEntity, FALSE, len, scanRspData);
CT WONG:
也有同樣的問題,解決不了,有誰有答案嗎
haibin deng:
回复 CT WONG:
LIGHTBLUE软件解析的是扫描回应包中的名字数据,你修改名字时这里也同时修改,就可以了,
CT WONG:
回复 haibin deng:
GAP_UpdateAdvertisingData(selfEntity, FALSE, sizeof(scanRspData), scanRspData);
//這里就是修改扫描回应包中的名字
mark_xu:
这种情况与ISO系统有关,IOS系统会有缓存,希望能帮到你,祝你好运!
深圳阿莫:
回复 mark_xu:
这个我也发现是这样, 就算你修改了 服务, 手机也需要重启才能发现修改。
he:
回复 深圳阿莫:
但是为什么信驰达的模块就可以马上修改成功呢??
he:
回复 mark_xu:
但是为什么信驰达的模块就可以马上修改成功呢??
说明这个和嵌入式端的程序也有关系啊!
he:
回复 haibin deng:
haibin deng:
我下面这条语句就是修改的扫描回应包中的名字数据啊。。
GAPRole_SetParameter(GAPROLE_SCAN_RSP_DATA, len, scanRspData);