public async Task <bool> ConnectToWifi() { try { var wireless = NativeWifi.EnumerateAvailableNetworks().FirstOrDefault(x => string.Equals(x.Ssid.ToString(), "wireless", StringComparison.CurrentCultureIgnoreCase)); if (wireless != null) { _logger.Log(LogLevel.Information, JsonSerializer.Serialize(wireless)); await NativeWifi.ConnectNetworkAsync(wireless.Interface.Id, wireless.ProfileName ?? "wireless", wireless.BssType, TimeSpan.FromSeconds(30)); _seleniumManipulator.LoginWifi(); return(true); } _errorHandler.LogErrorAndDelay("cannot connect wifi"); if (_errorHandler.CheckError()) { _errorHandler.HandleError(); } return(false); } catch (Exception e) { _errorHandler.LogErrorAndDelay(e.Message); if (_errorHandler.CheckError()) { _errorHandler.HandleError(); } return(false); } }
public async Task <bool> ConnectNetworkAsync(ProfileItem profileItem, TimeSpan timeout) { if (profileItem == null) { throw new ArgumentNullException(nameof(profileItem)); } return(await NativeWifi.ConnectNetworkAsync(profileItem.InterfaceId, profileItem.Name, BssType.Any, timeout)); }
/// <summary> /// Connects to the available wireless LAN which has the highest signal quality. /// </summary> /// <returns>True if successfully connected. False if not.</returns> public static async Task <bool> ConnectAsync() { var availableNetwork = NativeWifi.EnumerateAvailableNetworks() .Where(x => !string.IsNullOrWhiteSpace(x.ProfileName)) .OrderByDescending(x => x.SignalQuality) .FirstOrDefault(); if (availableNetwork == null) { return(false); } return(await NativeWifi.ConnectNetworkAsync( interfaceId : availableNetwork.Interface.Id, profileName : availableNetwork.ProfileName, bssType : availableNetwork.BssType, timeout : TimeSpan.FromSeconds(10))); }