|
查看: 8|回复: 0

[BLE SDK] 为什么在nRF Connect中点击断开,连接却没有真正断开?

[复制链接]

145

主题

338

回帖

1584

积分

管理员

积分
1584
发表于 昨天 10:33 | 显示全部楼层 |阅读模式 来自 上海
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: -
SDK及版本: -
用 nRF Connect 连接设备后点击 Disconnect,有时候连接不会真正断开(甚至强制关闭 App 也不断开),这是什么原因?

回答:

这与设备是否启用 HID 服务以及 SMP 配对状态有关:

1、HID 服务的影响:iOS 和 Android 对 ATT 服务中 HID 服务的处理方式不同。iOS 会因为设备存在 HID 服务,在 App 中点 Disconnect 后仍然维持连接;Android 会在点击 Disconnect 后无视 HID 服务是否存在直接发 Terminate。

2、SMP 配对状态的影响:如果设备使能了 SMP,且通过手机蓝牙设置中完成配对,之后再用 nRF Connect 读取服务并保持连接,此时点击 Disconnect 也不会断开(iOS/Android 行为一致);如果一开始就用 nRF Connect 直接搜索并连接(不经过系统配对流程),点击 Disconnect 则可以正常断开。

3、如果配对时用户取消(App 询问是否配对时选"取消"),不同实现行为不同:有的会自动断开,有的会保持连接。断开还是保持连接是上层应用的行为,协议本身没有强制要求。

本版积分规则

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

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

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

在本版发帖返回顶部