BlocBuilder不能根据蓝牙状态构建视图
创始人
2024-12-22 19:30:19
0次

在BLoC中添加一个StreamController来处理蓝牙状态,然后在BLoC中使用StreamBuilder进行视图构建。以下是一个示例代码:

class MyBloc extends Bloc {
  final BluetoothController _bluetoothController = BluetoothController();

  final _bluetoothStateController = StreamController();

  Stream get bluetoothState => _bluetoothStateController.stream;

  @override
  Stream mapEventToState(SomeEvent event) async* {
    if (event is BluetoothChangedEvent) {
      final currentState = state;
      yield currentState.copyWith(
        bluetoothState: event.bluetoothState,
      );
      _bluetoothStateController.add(event.bluetoothState);
    }
  }

  @override
  Future close() {
    _bluetoothStateController?.close();
    return super.close();
  }
}

class BluetoothWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return StreamBuilder(
      stream: context.watch().bluetoothState,
      builder: (context, snapshot) {
        final bluetoothState = snapshot.data;

        if (bluetoothState == BluetoothState.connected) {
          return Text('蓝牙已连接');
        } else if (bluetoothState == BluetoothState.disconnected) {
          return Text('蓝牙已断开');
        } else {
          return CircularProgressIndicator();
        }
      },
    );
  }
}

相关内容

热门资讯

推荐几款新版!微乐够级辅助功能... 推荐几款新版!微乐够级辅助功能app,微乐够级本来有辅助app(有辅助挂教程)1、许多玩家不知道微乐...
推荐十款!微乐过炸透视功能脚本... 推荐十款!微乐过炸透视功能脚本,微乐过炸原来存在有透视脚本(今日头条辅助)1、每一步都需要思考,不同...
记者爆料!微乐三打一透视功能a... 记者爆料!微乐三打一透视功能app,微乐三打一一贯存在有透视app(有辅助挂工具)所有人都在同一条线...
推荐一款!方片十三张透视功能工... 推荐一款!方片十三张透视功能工具,方片十三张切实存在有透视工具(有辅助挂技巧)1、点击下载安装,方片...
重大通报!乘风破浪开挂功能软件... 重大通报!乘风破浪开挂功能软件,乘风破浪都是是有开挂软件(有辅助挂功能)1、许多玩家不知道乘风破浪辅...
让我来分享经验!边锋斗地主辅助... 让我来分享经验!边锋斗地主辅助功能神器,边锋斗地主都是有辅助神器(有辅助挂工具)1、用户打开应用后不...
教程攻略!欢乐五张辅助器功能教... 教程攻略!欢乐五张辅助器功能教程,欢乐五张切实是有辅助器教程(有辅助挂猫腻)1、让任何用户在无需欢乐...
实测教程!半岛透视挂功能app... 实测教程!半岛透视挂功能app,半岛原来是真的有透视挂app(竟然有辅助挂)1、进入游戏-大厅左侧-...
科普分享!新道游透视挂功能ap... 您好,新道游这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款游...
揭秘真相!六六顺开挂功能脚本,... 揭秘真相!六六顺开挂功能脚本,六六顺其实真的有开挂脚本(有辅助挂分析)1、六六顺有没有辅助教程、六六...