移动端开发进阶之蓝牙通讯(四)

发布时间:2024年01月18日

移动端开发进阶之蓝牙通讯(四)

在移动端开发实践中,可能会要求在不同的设备之间切换,从而提升用户体验;
或者为了提升设备的利用率,实现设备之间的连接和协同工作;
不得不通过多端连接,将多个设备连接在一起,实现设备之间的数据共享、远程控制等功能,根据具体的应用场景和需求采用蓝牙的多端连接进行实现。
移动端开发

一、选择合适的第三方库

要实现多设备蓝牙连接需要选择使用flutter_reactive_ble或flutter_ble_lib,下面用flutter_reactive_ble作为示例。

dependencies:
  flutter:
    sdk: flutter

  flutter_reactive_ble: ^5.2.0

二、连接设备

  1. 扫描设备
final FlutterReactiveBle reactiveBle = FlutterReactiveBle();
  final List<DiscoveredDevice> devices = [];

  StreamSubscription<DiscoveredDevice>? scanStream;
  StreamSubscription<ConnectionStateUpdate>? connectStream;

  // 开始扫描
  Future<void> scanDevices() async {
   
    List<Uuid> services = [];
    /**
     * 过滤条件,不过滤就传空数组
     * services.add(Uuid.parse("0000fff0-0000-1000-XXXX-XXXXXXXXXXX"));
     * */
    scanStream = reactiveBle
        .scanForDevices(withServices: services, scanMode: ScanMode.lowLatency)
        .listen((device) {
   
      // 验证重复性、验证合法性才能添加进devices
      devices.add(device);
    }, onError: (e) {
文章来源:https://blog.csdn.net/weixin_42979360/article/details/135684773
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。