Vérifier si le Wi-Fi est connecté

Posted by & filed under Dev', Tips.

Un petit piège à éviter concernant la détection du Wi-Fi :
Le tutoriel proposé par la MSDN conseille d’utiliser DeviceNetworkInformation.IsWiFiEnabled pour détecter si le Wi-Fi est activé.

Attention, ce flag possède l’avantage d’être rapide à lire mais indique comme son nom l’indique si le Wi-Fi est activé dans les paramètres du téléphone, et en aucun cas si le Wi-Fi est actuellement connecté (l’utilisateur peut très bien n’être connecté à aucun réseau Wi-Fi, IsWiFiEnabled vous retournera true quand même).

Pour tester si le Wi-Fi est réellement connecté, il faut adjoindre un test (plus coûteux) pour connaître l’interface réseau utilisée par le runtime :

if (DeviceNetworkInformation.IsWiFiEnabled
	&& NetworkInterface.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
{
	// Le Wi-Fi est connecté
}

Ce snippet évite de faire l’appel coûteux vers NetworkInterfaceType si le Wi-Fi n’est pas du tout activé.

Comments are closed.