private void OnConnectionStateChanged(object sender, NetworkAccess e) { Console.WriteLine("network state" + e); switch (e) { case NetworkAccess.Internet: buttonReceiveMessage.Visibility = ViewStates.Visible; buttonWifiScanner.Visibility = ViewStates.Invisible; connectButton.Visibility = ViewStates.Invisible; try { UnregisterReceiver(wifiReceiver); wifiReceiver = null; } catch (IllegalArgumentException ex) { Console.WriteLine("Most like receiver was null" + ex.Message); } break; default: buttonReceiveMessage.Visibility = ViewStates.Invisible; buttonWifiScanner.Visibility = ViewStates.Visible; connectButton.Visibility = ViewStates.Invisible; break; } }
public void OnAvailableWifiButtonClick(object sender, System.EventArgs e) { if (!Utils.HasPermission(ApplicationContext, Utils.ePermission.WifiPermission)) { Toast.MakeText(ApplicationContext, "Application requires permission to Wi-Fi.", ToastLength.Long).Show(); RequestPermissions(Utils.RequiredWifiPermissions, 0); } else { if (!wifiManager.IsWifiEnabled) { Toast.MakeText(ApplicationContext, "Turning WiFi ON...", ToastLength.Long).Show(); wifiManager.SetWifiEnabled(true); } if (!Utils.HasPermission(ApplicationContext, Utils.ePermission.LocationPermission)) { var GetPermissions = Utils.GetPermissions(); } else { if (wifiReceiver == null) { wifiReceiver = new WifiReceiver(wifiManager, wifiList, ApplicationContext, passwordText, connectButton); } textMessage.Visibility = ViewStates.Invisible; Toast.MakeText(ApplicationContext, "Searching for Wi-fi...", ToastLength.Long).Show(); RegisterReceiver(wifiReceiver, new IntentFilter(WifiManager.ScanResultsAvailableAction)); wifiManager.StartScan(); } } }
void AttachCallbacksAndGetIDs() { passwordText = FindViewById <EditText>(Resource.Id.passwordText); connectButton = FindViewById <Button>(Resource.Id.wifiConnect); textMessage = FindViewById <TextView>(Resource.Id.message); wifiList = FindViewById <ListView>(Resource.Id.wifiList); buttonWifiScanner = FindViewById <Button>(Resource.Id.scanBtn); buttonReceiveMessage = FindViewById <Button>(Resource.Id.ReceiveMessageButton); navigation = FindViewById <BottomNavigationView>(Resource.Id.navigation); wifiManager = (WifiManager)ApplicationContext.GetSystemService(Context.WifiService); wifiReceiver = new WifiReceiver(wifiManager, wifiList, ApplicationContext, passwordText, connectButton); wifiReceiver.StateChange += OnConnectionStateChanged; buttonWifiScanner.Click += OnAvailableWifiButtonClick; buttonReceiveMessage.Click += OnStartListeningButtonClick; }
void DettachCallbacks() { if (buttonWifiScanner != null) { buttonWifiScanner.Click -= OnAvailableWifiButtonClick; } if (buttonReceiveMessage != null) { buttonReceiveMessage.Click -= OnStartListeningButtonClick; } if (wifiReceiver != null) { wifiReceiver.StateChange -= OnConnectionStateChanged; } try { UnregisterReceiver(wifiReceiver); wifiReceiver = null; } catch (IllegalArgumentException ex) { Console.WriteLine("Most likely receiver was null" + ex.Message); } }