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é.
Commentaires récents