startScan method
startScan starts scanning for BLE devices.
To get the results, you need to set a callback function using onScanResult
.
Implementation
@override
Future<bool?> startScan({String? macAddress, List<String>? servicesUuids}) async {
_devices.clear();
final requestOptions = RequestOptionsBuilder.acceptAllDevices(optionalServices: servicesUuids);
try {
final device = await FlutterWebBluetooth.instance.requestDevice(requestOptions);
final bleDevice = BleDevice(macAddress: device.id, name: device.name);
_devices[device.id] = device;
_scanController.add(bleDevice);
_eventController.add(BleEvent.scanStopped);
return true;
} catch (e) {
_eventController.add(BleEvent.scanStopped);
log("Error getting device: $e");
return false;
}
}