|
查看: 3|回复: 0

[BLE SDK] 广播数据中的UUID用incomplete还是complete类型?

[复制链接]

145

主题

338

回帖

1584

积分

管理员

积分
1584
发表于 6 小时前 | 显示全部楼层 |阅读模式 来自 上海
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: -
SDK及版本: -
广播数据中的 UUID,什么时候应该用 incomplete(不完整)类型,什么时候用 complete(完整)类型?两个类型对手机端有什么影响?

回答:

incomplete 和 complete 是针对广播数据来说的:

1、如果广播数据里包含设备支持的所有 UUID,就用 complete 类型;
2、如果广播里只暴露了设备支持的部分 UUID,就用 incomplete 类型。

设计目的:扫描设备搜索到广播设备后,可以通过广播数据判断对端设备对服务的支持情况:

- 如果对端暴露了所有 UUID,扫描设备可以直接判断设备类型,并进行快速的 service discovery(直接查询对应服务);
- 如果对端只暴露了部分服务,扫描设备想知道完整服务列表,必须建立连接后走一遍完整的 service discovery 流程。

关于 SDK 默认用法:通用 SDK 默认使用 incomplete 类型,因为用户可以灵活修改 ATT 表和广播数据,SDK 无法保证 ATT 表和广播数据的实时对应,所以只能使用 incomplete list。

兼容性提示:有案例表明,某些手机对 UUID 类型比较敏感:例如某机型上使用 incomplete UUID 无法识别 HID 功能按键,改为 complete 类型后可以正常识别。遇到此类兼容性问题时,可以尝试调整广播中 UUID 的类型。

本版积分规则

关注公众号
隐私政策|Telink forum

相关侵权、举报、投诉及建议等,请发 E-mail:forum@telink-semi.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|沪ICP备17008231号-1 |沪公网安备31011502403548号

在本版发帖返回顶部