searchForDevice method

Future<DiscoveredDevice?> searchForDevice(
  1. List<DevicesFilter> filters,
  2. Duration timeout
)

搜索指定设备

Implementation

Future<DiscoveredDevice?> searchForDevice(
    List<DevicesFilter> filters, Duration timeout) async {
  if (_disposed) {
    throw Exception("Searching task can not start after disposed");
  }
  _filters.clear();
  for (var i = 0; i < filters.length; i++) {
    _filters.add(filters[i]);
  }
  _completer = Completer();
  _scannerHelper!.addDeviceUpdateListener(_deviceUpdateHandler);
  _searchTimer = Timer(timeout, () {
    _searchTimer?.cancel();
    _searchTimer = null;
    if (!_completer.isCompleted) {
      _completer.complete(null);
      dispose();
    }
  });
  return _completer.future;
}