Comment déterminer si je suis connecté au WiFi ou à un réseau de téléphonie mobile dans Windows Phone 8.1 (Universal app)?

Je travaille avec une application Windows universelle (backend partagé entre Windows 8.1 et Windows Phone 8.1, et non Silverlight). L’application se connecte à Azure avec Azure Mobile Services. Dans les parameters de l’application, j’aimerais que l’option de synchronisation se produise uniquement sur un réseau WiFi.

Comment déterminer si le téléphone est connecté au WiFi ou à un réseau de téléphonie mobile? Bien que mes recherches aient permis de résoudre ce problème avec les anciennes versions de Windows Phone et Silverlight, il semble que je ne peux déterminer que si l’appareil est connecté à Internet dans une application Windows Universal.

Je crois que vous pouvez déterminer ces informations à partir du ConnectionProfile utilisant quelque chose qui ressemble à:

 using Windows.Networking.Connectivity; var connectionProfile = NetworkInformation.GetInternetConnectionProfile(); // connectionProfile can be null (eg airplane mode) if (connectionProfile != null && connectionProfile.IsWlanConnectionProfile) { // do something over WiFi; } 

Il existe également la propriété IsWwanConnectionProfile , qui permet de déterminer si la connexion est établie via une connexion “mobile” (3g, etc.).

Je pense que c’est le seul moyen de vérifier la disponibilité d’Internet:

 bool IsConnected = NetworkInterface.GetIsNetworkAvailable(); if (IsConnected) { // Do Something } else { // Do something different } 

Ce lien est ma référence.