Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }