startScan method
Future<void>
startScan({
- required void onScanResult(
- BleDevice result
- void onScanStart(
- bool success
- void onScanStop(
- bool success
- String? macFilter,
- bool? allowDuplicates,
- int? timeout,
override
Implementation
@override
Future<void> startScan({
required void Function(BleDevice result) onScanResult,
void Function(bool success)? onScanStart,
void Function(bool success)? onScanStop,
String? macFilter,
bool? allowDuplicates,
int? timeout,
}) async {
dynamic brodcastStream;
brodcastStream =
_startScanEventChannel.receiveBroadcastStream().listen((result) {
switch (result["event"]) {
case "onScanResult":
onScanResult(_mapScanResult(result["value"]));
break;
case "onScanStart":
onScanStart?.call(result["value"] as bool);
break;
case "onScanStop":
brodcastStream.cancel();
onScanStop?.call(result["value"] as bool);
break;
default:
return;
}
});
return await _methodChannel.invokeMethod<void>('startScan', {
'macFilter': macFilter,
'allowDuplicates': allowDuplicates,
'timeout': timeout
});
}