示例#1
0
        private static async void Radio_StateChanged(Windows.Devices.Radios.Radio sender, object args)
        {
            bool newAvailability = await DoGetAvailability();

            if (newAvailability != _oldAvailability)
            {
                _oldAvailability = newAvailability;
                OnAvailabilityChanged();
            }
        }
示例#2
0
 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);
 }
示例#3
0
 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;
     }
 }
示例#4
0
        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();
            }
        }