public async Task <List <WiFiInfo> > GetAvailableWifis(bool?GetSignalStrenth = false) { List <WiFiInfo> Wifis = null; PermissionStatus status = await CrossPermissions.Current.CheckPermissionStatusAsync <LocationPermission>(); if (status != PermissionStatus.Granted) { status = await CrossPermissions.Current.RequestPermissionAsync <LocationPermission>(); } if (status == PermissionStatus.Granted) { // Get a handle to the Wifi var wifiMgr = (WifiManager)context.GetSystemService(Context.WifiService); var wifiReceiver = new WifiReceiver(wifiMgr); await Task.Run(() => { // Start a scan and register the Broadcast receiver to get the list of Wifi Networks context.RegisterReceiver(wifiReceiver, new IntentFilter(WifiManager.ScanResultsAvailableAction)); Wifis = wifiReceiver.Scan(); }); } return(Wifis); }
public async Task <IEnumerable <WifiSignal> > GetWifiSignals(CancellationToken cancellationToken = default) { IEnumerable <WifiSignal> signals = new List <WifiSignal>(); var wifiReceiver = new WifiReceiver(_wifiManager); var intentFilter = new IntentFilter(WifiManager.ScanResultsAvailableAction); await Task.Run(() => { _context.RegisterReceiver(wifiReceiver, intentFilter); signals = wifiReceiver.Scan(); }, cancellationToken); return(signals); }
public async Task <IEnumerable <string> > GetAvailableNetworksAsync() { IEnumerable <string> availableNetworks = null; // Get a handle to the Wifi var wifiMgr = (WifiManager)context.GetSystemService(Context.WifiService); var wifiReceiver = new WifiReceiver(wifiMgr); await Task.Run(() => { // Start a scan and register the Broadcast receiver to get the list of Wifi Networks context.RegisterReceiver(wifiReceiver, new IntentFilter(WifiManager.ScanResultsAvailableAction)); availableNetworks = wifiReceiver.Scan(); }); if (availableNetworks.Count() > 0) { //App.ListChanged?.Invoke(availableNetworks.ToList()); } return(availableNetworks); }