public IEnumerable <WiFiNetworkInfo> GetWifiNetworks() { List <WiFiNetworkInfo> ret = new List <WiFiNetworkInfo>(); if (__Interface == null) { return(ret); } CWNetwork[] networks = __Interface.CachedScanResults; if (networks != null) { foreach (CWNetwork net in networks) { try { var network = new WiFiNetwork(net.Ssid); ret.Add(new WiFiNetworkInfo(network)); } catch (Exception ex) { Logging.Info($"Inrernal ERROR parsing info about WiFi networks '{ex.Message}' : {ex}"); } } } return(ret); }
public List <WiFiNetwork> UpdateNetworks() { var wifiList = new List <WiFiNetwork>(); var client = new WlanClient(); foreach (var wlanIface in client.Interfaces) { var wlanBssEntries = wlanIface.GetAvailableNetworkList(0); var macIndex = 0; foreach (var network in wlanBssEntries) { var wifi = new WiFiNetwork(); wifi.Name = Encoding.ASCII.GetString(network.dot11Ssid.SSID); wifi.ConnectionQuality = network.wlanSignalQuality.ToString() + "%"; wifi.AuthenticationType = network.dot11DefaultAuthAlgorithm.ToString(); if (wifiList.Contains(wifi)) { continue; } try { wifi.MAC = wlanIface.GetNetworkBssList()[macIndex].dot11Bssid.Select(b => b.ToString("x2")).Aggregate((cur, next) => cur + ':' + next);//.Trim((char)0); } catch { break; } wifi.Connected = network.flags.HasFlag(Wlan.WlanAvailableNetworkFlags.Connected); wifiList.Add(wifi); macIndex++; } } return(Networks = wifiList); }
public override void OnReceive(Context context, Intent intent) { // if wifi has been disabled then don't retrieve the results WifiManager wifi = (WifiManager)context.GetSystemService(Context.WifiService); if (!wifi.IsWifiEnabled) { return; } var scanWiFiNetworks = wifi.ScanResults; foreach (ScanResult wifinetwork in scanWiFiNetworks) { var network = new WiFiNetwork() { BSSID = wifinetwork.Bssid, SSID = wifinetwork.Ssid, Frequency = wifinetwork.Frequency, Capabilities = wifinetwork.Capabilities, //TimeStamp = DateTimeOffset.FromFileTime(wifinetwork.Timestamp) TimeStamp = DateTimeOffset.Now, Location = wiFiLocation, Address = wiFiAddress }; // calculate the signal int level = WifiManager.CalculateSignalLevel(wifi.ConnectionInfo.Rssi, wifinetwork.Level); int difference = level * 100 / wifinetwork.Level; int signalStrength = 0; if (difference >= 100) { network.SignalStrength = 4; } else if (difference >= 75) { network.SignalStrength = 3; } else if (difference >= 50) { network.SignalStrength = 2; } else if (difference >= 25) { network.SignalStrength = 1; } if (!wiFiNetworks.Exists(n => n.SSID == network.SSID && n.BSSID == network.BSSID)) { wiFiNetworks.Add(network); } } thisActivity.UpdateList(); }
public static void MyClassInitialize(TestContext testContext) { var net = new WiFiNetwork("a", 55); _sessionFactory = NHibernateHelper.CreateSessionFactory(); networks = new List<WiFiNetwork>(); networks.Add(new WiFiNetwork("topolino", 11)); networks.Add(new WiFiNetwork("gino", 44)); networks.Add(net); netlist.Add(new WiFiNetworkSet(networks)); connectednetworks = new List<WiFiNetwork>(); connectednetworks.Add(net); connlist.Add(new WiFiNetworkSet(connectednetworks)); }
private async void ConnectToWifi(WiFiNetwork network, PasswordCredential credential = null) { var didConnect = credential == null? WiFiNetworks.Instance.ConnectToNetwork(network.WiFiAvailableNetwork, network.ConnectAutomatically) : WiFiNetworks.Instance.ConnectToNetworkWithPassword(network.WiFiAvailableNetwork, network.ConnectAutomatically, credential); Core.PlatformSupport.Services.DispatcherServices.Invoke(() => { SelectedNetwork.State = WIFI_Connecting_State; }); var connected = await didConnect; Core.PlatformSupport.Services.DispatcherServices.Invoke(async() => { SelectedNetwork.State = WIFI_Initial_State; await SetupWifi(); }); }
private void UpdateWiFiState() { lock (__InsecureLock) { try { var network = new WiFiNetwork(__Interface.Ssid); bool isInsecureNetwork = (int)__Interface.InterfaceState == 4 /* kCWInterfaceStateRunning */ && (int)__Interface.SecurityMode == 0 /* kCWSecurityModeOpen */; __CurrentState = new WifiState(network, isInsecureNetwork); WiFiStateChanged(__CurrentState); } catch (Exception ex) { Logging.Info($"Inrernal ERROR parsing info about connected WiFi network '{ex.Message}' : {ex}"); } } }
protected bool Equals(WiFiNetwork other) { return(string.Equals(SSID, other.SSID)); // && Enumerable.SequenceEqual(BSSID, other.BSSID); }
public WiFiNetworkInfo(WiFiNetwork network) { Network = network; }