2016-10-18 3 views
1

У меня есть некоторые проблемы в Windows, +8,1 магазина приложениях, я хочу событие приложения, если изменение силы сигнала WiFi, ваши ответы будут оцененыКак найти уровень сигнала Wi-Fi в приложениях Windows RT или 8.1 приложений?

+0

В среде выполнения [WiFiAvailableNetwork] (https://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.wifi.wifiavailablenetwork.aspx?f=255&MSPPError = -2147217396) класс имеет свойство [SignalBars] (https://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.wifi.wifiavailablenetwork.signalbars.aspx), которое может получить силу сигнал в виде ряда баров. Текущее количество полос сигналов, отображаемых в пользовательском интерфейсе Windows для сети. –

ответ

1

Вы можете использовать класс NetworkConnection присутствует внутри пространство имен Windows.Networking.Connectivity и использовать ConnectionProfile класса, который имеет метод, называемый GetSignalBars, который дает обнуляемые байты из значения от 0 до 5.

var strength = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile().GetSignalBars(); 

Более подробной информации о силе сигнала можно найти here. Надеюсь это поможет.

+0

Привет CodeNoob, я уже использовал вышеуказанный код, но мне нужно событие, если автоматически активируется изменение силы сигнала Wi-Fi, –

+0

Для этой цели нет события. Другим способом может быть использование таймера интервала и вызов вышеупомянутого кода через определенные промежутки времени. – CodeNoob

0

В настоящее время я не вижу никаких событий для обнаружения Wifi Signal Strength Changes. Я думаю, что повторное чтение данных в вашем приложении использует диспетчерский таймер. Более подробно о создании сканера Wi-Fi в UWP вы можете обратиться к this document.

0

абсолютно вы можете получить сигнал баров, но вопрос заключается в том, чтобы обновить прочность сетчатой ​​

У меня есть ответ на (я могу предоставить именно то, что вы должны, если вы предоставляете XAML и C# код) .. Теперь все, что вам нужно используйте «DispatcherTimer», который будет обновлять вашу силу сигнала время от времени. использовать этот код в вашей инициализации страницы или App.xaml.cs инициализации

using System.Windows.Threading; 



DispatcherTimer timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(1) }; 

timer.Tick += delegate (object sender, EventArgs e) 
{ 
    // use your wifi class etc. e.g this.SignalStrengthProgressBar.Value = (FMRadio.Instance.SignalStrength); this is example for fm radio in wp8. 
}; 

timer.Start(); 

здесь timespan.fromsecond (1) 1 является второй регулировкой второго в соответствии с вашими потребностями, потому что время обновление будет сосать аккумулятор

как мой ответ ? upvote и отметьте как ответ