【问题标题】:Why doesn't the wireless radio state refresh when I change it?为什么我更改时无线电状态不刷新?
【发布时间】:2026-01-12 16:55:01
【问题描述】:

我正在尝试制作一个简单的应用程序来切换 Windows 移动设备上的 WiFi 无线电,并发现 OpenNETCF.WIndowsMo​​bile 命名空间提供了一些宝石,使这项任务变得超级简单:

    private void button2_Click(object sender, EventArgs e)
    {
         var wifiRadio = (from radio in Radios.GetRadios()
               where radio.RadioType == RadioType.WiFi
               select radio).FirstOrDefault();

        if (wifiRadio != null)
            switch (wifiRadio.RadioState)
            {
                case RadioState.Off:
                    wifiRadio.RadioState = RadioState.On;
                    button2.Text = "Is On";
                    break;
                case RadioState.On:
                    wifiRadio.RadioState = RadioState.Off;
                    button2.Text = "Is Off";
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }                            
    }

第一次点击时效果很好。在所有后续点击中,RadioState 仍报告为相同(即使已切换收音机)。

重启应用后,RadioState 会再次返回正确的状态。

有没有办法刷新状态以便正确报告?

【问题讨论】:

    标签: c# windows-mobile opennetcf


    【解决方案1】:

    我发现有一个刷新方法。如果其他人需要知道如何使用它:

            private void button2_Click(object sender, EventArgs e)
        {
            var radios = Radios.GetRadios();
            radios.Refresh();
    
            var wifiRadio = (from radio in radios
                   where radio.RadioType == RadioType.WiFi
                   select radio).FirstOrDefault();
    
            if (wifiRadio != null)
                switch (wifiRadio.RadioState)
                {
                    case RadioState.Off:
                        wifiRadio.RadioState = RadioState.On;
                        button2.Text = "Is On";
                        break;
                    case RadioState.On:
                        wifiRadio.RadioState = RadioState.Off;
                        button2.Text = "Is Off";
                        break;
                    default:
                        throw new ArgumentOutOfRangeException();
                }                            
        }
    }
    

    【讨论】:

      最近更新 更多