Charge-BleDevice

作用:BleDevice 是整个蓝牙架构的**"发动机"** !它是所有蓝牙设备类的**抽象基类。**蓝牙设备抽象父类,封装连接、断开、读取、开启通知等通用逻辑。

管理哪些状态

复制代码
- device:真实蓝牙设备
- rssi:信号强度
- connectState:连接状态
- _connecting:是否正在连接
- _manual:是否手动断开
- _stateStream:连接状态监听

重要的方法

复制代码
- connect():建立连接并监听状态
- disconnect():断开连接
- setNotify():开启特征值通知
- read():读取特征值
- discoveryService():交给子类实现
- onConnected():交给子类实现
- onDisconnect():交给子类实现

与设备通信的逻辑线

复制代码
连接设备
  -> 发现服务
  -> 找特征值
  -> 开启通知
  -> 发命令
  -> 收数据
  -> 解析数据
  -> 更新页面

整体作用

复制代码
1. 保存蓝牙设备对象
2. 保存信号强度 rssi
3. 管理连接状态
4. 防止重复连接
5. 监听蓝牙连接状态变化
6. 连接成功后触发服务发现
7. 断开连接后做清理
8. 提供 read 和 notify 的通用方法
9. 把具体设备差异交给子类实现
相关推荐
FungLeo13 分钟前
Flutter 可复用公共组件库设计与落地:AppDialog/BottomSheet 等实战
flutter
Fungleo10699715 小时前
Flutter/Android Release 包连不上网?AndroidManifest INTERNET 权限排查实录
flutter
GitLqr17 小时前
Flutter 实战:为你的 App 增加桌面快捷方式 (Quick Actions)
flutter·app·全栈
FungLeo19 小时前
Flutter 把第三方 UI 库渐进迁回 Material 3:组件映射总表 + 四批次替换实战
flutter·ui
GitLqr2 天前
iOS 27 强制要求 UISceneDelegate:UIKit 和 Flutter 开发者该如何应对?
flutter·ios·全栈
蜡台2 天前
Flutter HTTP 请求完整详解
网络协议·flutter·http·dart
9765033352 天前
iOS 上架/审核 4.3a Cocos 2026最新方案解读
flutter·ios·swift·cocos2d·ios开发
FungLeo3 天前
Flutter 接入 Alice 调试浮窗:一个顶层 final 抢跑,把 release 网络整没了
网络·flutter
恋猫de小郭3 天前
Flutter hit,一个可以灵活控制溢出点击的第三方包
android·前端·flutter
蜡台4 天前
Flutter Container 与装饰完整讲解
android·javascript·flutter·dart