private static async void Radio_StateChanged(Windows.Devices.Radios.Radio sender, object args) { bool newAvailability = await DoGetAvailability(); if (newAvailability != _oldAvailability) { _oldAvailability = newAvailability; OnAvailabilityChanged(); } }
public static bool GetWifiRadiosState(Windows.Devices.Radios.Radio radio) { if (radio.Kind == Windows.Devices.Radios.RadioKind.WiFi) { if (radio.State == Windows.Devices.Radios.RadioState.On) { return(true); } else { return(false); } } return(false); }
public async static void SetWifiRadiosState(Windows.Devices.Radios.Radio radio, bool isopen) { if (radio.Kind == Windows.Devices.Radios.RadioKind.WiFi) { if (radio.State != Windows.Devices.Radios.RadioState.On) { if (isopen) { await radio.SetStateAsync(Windows.Devices.Radios.RadioState.On); } } else { if (!isopen) { await radio.SetStateAsync(Windows.Devices.Radios.RadioState.Off); } } return; } }
private async void WIFIHelperView_Loaded(object sender, RoutedEventArgs e) { WIFIHelperVM.Loaded(); try { //获取无线电设备 var radios = await Service.WIFIService.GetWifiRadios(); Windows.Devices.Radios.Radio defaultRadio = null; if (radios != null && radios.Count != 0) { defaultRadio = radios[0]; } //获取当前网络连接类型 var types = Service.WIFIService.GetNetworkType(); switch (types) { case Service.NetworkType.None: //没有任何网络连接,无线电设备可能被关闭了 if (defaultRadio == null) { GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("没有可以使用的网络", messageToken); } else { Service.WIFIService.SetWifiRadiosState(defaultRadio, true); //打开wifi设备 } this.Frame.Navigate(typeof(View.WIFIHelperAuthView), new WIFIAuthViewParam { WIFIHelperVM = WIFIHelperVM }); break; case Service.NetworkType.Ethernet: //以太网,直接导航到注册页面 var re = await GetAuthenStatus(); if (re) { this.Frame.Navigate(typeof(View.WIFIHelperRegView), new WIFIRegViewParam { WIFIHelperVM = WIFIHelperVM }); } else { if (defaultRadio == null) { GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("连接不到校园网", messageToken); } else { Service.WIFIService.SetWifiRadiosState(defaultRadio, true); //打开wifi设备 } this.Frame.Navigate(typeof(View.WIFIHelperAuthView), new WIFIAuthViewParam { WIFIHelperVM = WIFIHelperVM }); } break; case Service.NetworkType.Wireless: var status = await GetAuthenStatus(); if (status) { this.Frame.Navigate(typeof(View.WIFIHelperRegView), new WIFIRegViewParam { WIFIHelperVM = WIFIHelperVM }); } else { this.Frame.Navigate(typeof(View.WIFIHelperAuthView), new WIFIAuthViewParam { WIFIHelperVM = WIFIHelperVM }); } break; case Service.NetworkType.Mobile: if (defaultRadio == null) { GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("移动网络下不能使用WIFI助手", messageToken); } else { Service.WIFIService.SetWifiRadiosState(defaultRadio, true); //打开wifi设备 } this.Frame.Navigate(typeof(View.WIFIHelperAuthView), new WIFIAuthViewParam { WIFIHelperVM = WIFIHelperVM }); break; case Service.NetworkType.Other: GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("你的网络比较复杂!", messageToken); this.Frame.Navigate(typeof(View.WIFIHelperAuthView), new WIFIAuthViewParam { WIFIHelperVM = WIFIHelperVM }); break; default: this.Frame.Navigate(typeof(View.WIFIHelperAuthView), new WIFIAuthViewParam { WIFIHelperVM = WIFIHelperVM }); break; } } catch (Exception ex) { await new MessageDialog(ex.Message).ShowAsync(); } }