外观
如何使用 BluetoothAdapter 和 BluetoothGatt 实现 BLE 设备连接?
标准回答
BLE 连接流程是:确认蓝牙能力与当前系统所需权限 → 用 BluetoothLeScanner 扫描并筛选设备 → BluetoothDevice.connectGatt → onConnectionStateChange 确认已连接 → discoverServices → onServicesDiscovered 后操作特征 → 结束时 disconnect 并 close。连接成功不代表服务发现已经完成。
通俗例子
连接心率带后,先找它支持的心率服务和特征,再订阅通知;每一步都是异步的,要处理权限、超时与断连。
深入解释
**连接前后各做什么:**先发现并筛选设备,再建立 BLE GATT 连接,连接后发现服务和特征,最后按协议读写或订阅通知。建立连接并不代表业务通道已经准备好。
**为什么需要状态管理:**连接、服务发现、订阅确认与断开都是异步过程,权限也随系统规则变化。要按状态发起下一步,重连后重新确认服务与订阅,不沿用失效对象。
内容来源
- Android · AI Agent 知识手册 · 原条目
20.3.1