外观
如何理解从扫描到收到 BLE 数据的完整流程?
标准回答
先确认硬件能力、蓝牙开关和权限;按条件扫描并选择设备;connectGatt 发起连接;连接回调成功后发现服务;找到指定特征和描述符;按协议完成通知订阅、鉴权或握手,最后才进入业务可用状态。(蓝牙权限)(BLE 数据传输与通知)
机制解释
常见通知订阅既需要本地 setCharacteristicNotification,也需要向对应 CCCD 描述符写入启用 Notification 或 Indication 的值,并等待写入结果。仅建立连接或仅调用本地启用接口,都不保证会收到设备上报。
延伸追问
Notification 与 Indication 有什么不同?Indication 在 ATT 层有确认机制,Notification 没有这种逐条 ATT 确认;但无论哪种,都不能把传输层成功当作“设备业务已经执行完成”。关键操作需要业务响应。
内容来源
- Android 智能硬件 SDK 技术 Wiki · 原条目
Q41