3
votes

I am working with a Windows Universal app (shared backend between Windows 8.1 and Windows Phone 8.1, not Silverlight). The app connects to Azure with Azure Mobile Services. In the settings for the app I would like to have an option for synchronisation to only occur over a WiFi network.

How can I determine if the phone is connected to WiFi or a mobile network? Although from my research I have found ways to do this with older versions of Windows Phone and with Silverlight, it seems I can only determine if the device is connected to the internet in a Windows Universal app.

2
Maybe this thread or this blog post will help.Romasz

2 Answers

11
votes

I believe you can determine this information from the ConnectionProfile using something akin to:

using Windows.Networking.Connectivity;

var connectionProfile = NetworkInformation.GetInternetConnectionProfile();
// connectionProfile can be null (e.g. airplane mode)
if (connectionProfile != null && connectionProfile.IsWlanConnectionProfile) {
    // do something over WiFi;
}

There is also the IsWwanConnectionProfile property, which is used to determine if the connection is via a 'mobile' connection (3g, etc).

0
votes

I think that this is the only way to check for internet availability :

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

This Link is my reference.