Flutter_blue_plus插件如何使用

我在使用Flutter_blue_plus插件时遇到了一些问题,不太清楚具体该如何操作。能否详细说明一下这个插件的基本使用方法?比如如何初始化蓝牙、扫描设备、连接设备以及读写数据等操作?另外,在Android和iOS平台上使用这个插件有什么需要注意的兼容性问题吗?

2 回复

使用Flutter_blue_plus插件进行蓝牙开发,步骤如下:

  1. 添加依赖到pubspec.yaml
  2. 配置Android和iOS权限;
  3. 初始化蓝牙适配器;
  4. 扫描、连接设备,读写特征值。

更多关于Flutter_blue_plus插件如何使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


Flutter_blue_plus 是 Flutter 中用于蓝牙低功耗(BLE)通信的插件。以下是基本使用步骤:

1. 添加依赖

pubspec.yaml 中添加:

dependencies:
  flutter_blue_plus: ^1.0.0

2. 配置权限

Android(在 android/app/src/main/AndroidManifest.xml 中添加):

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

iOS(在 ios/Runner/Info.plist 中添加):

<dict>
  <key>NSBluetoothAlwaysUsageDescription</key>
  <string>需要蓝牙权限</string>
</dict>

3. 基本使用代码

import 'package:flutter_blue_plus/flutter_blue_plus.dart';

class BluetoothController {
  // 扫描设备
  void startScan() {
    FlutterBluePlus.startScan(timeout: Duration(seconds: 10));
    
    // 监听扫描结果
    FlutterBluePlus.scanResults.listen((results) {
      for (ScanResult result in results) {
        print('发现设备: ${result.device.name}');
      }
    });
  }

  // 连接设备
  Future<void> connectDevice(BluetoothDevice device) async {
    await device.connect();
    print('已连接到 ${device.name}');
  }

  // 发现服务
  Future<void> discoverServices(BluetoothDevice device) async {
    List<BluetoothService> services = await device.discoverServices();
    for (var service in services) {
      print('服务 UUID: ${service.uuid}');
    }
  }
}

4. 主要功能

  • 设备扫描:使用 FlutterBluePlus.startScan()
  • 设备连接:使用 device.connect()
  • 服务发现:使用 device.discoverServices()
  • 读写特征值:通过 characteristic.read()characteristic.write()
  • 监听通知:使用 characteristic.setNotifyValue(true)

5. 注意事项

  • 需要处理蓝牙权限请求
  • iOS 需要物理设备测试
  • 连接前建议先停止扫描
  • 使用完成后及时断开连接

建议查看官方文档获取完整示例和详细 API 说明。

回到顶部