discoverServices method

  1. @override
Future<List<BluetoothGattService>> discoverServices(
  1. String deviceId
)
override

实现 FlutterBluetoothPluginPlatform.discoverServices

Web 只能发现设备授权范围内的 GATT 服务;请在 startScan 传入目标服务 UUID。

Implementation

@override
Future<List<BluetoothGattService>> discoverServices(String deviceId) async {
  final server = await _connectedServer(deviceId);
  final webServices = (await server.getPrimaryServices().toDart).toDart;
  _serviceCache[deviceId] = webServices;

  final services = <BluetoothGattService>[];
  for (final service in webServices) {
    services.add(await _serviceFromWeb(service));
  }
  return services;
}