Windows Phone 8.1(通用应用程序)如何确定我连接的是 WiFi 还是移动网络?

How can I determine whether I am connected to WiFi or a mobile network in Windows Phone 8.1 (Universal app)?

我正在使用 Windows 通用应用程序(在 Windows 8.1 和 Windows Phone 8.1 之间共享后端,而不是 Silverlight)。该应用通过 Azure 移动服务连接到 Azure。在应用程序的设置中,我希望有一个仅通过 WiFi 网络进行同步的选项。

如何确定 phone 连接的是 WiFi 还是移动网络?尽管根据我的研究,我找到了使用旧版本 Windows Phone 和 Silverlight 执行此操作的方法,但似乎我只能确定设备是否以 Windows 方式连接到互联网通用应用程序。

我认为这是检查互联网可用性的唯一方法:

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

这个Link是我的参考。

我相信您可以使用类似于以下内容的方法从 ConnectionProfile 中确定此信息:

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;
}

还有IsWwanConnectionProfile 属性,用于判断连接是否通过'mobile'连接(3g等)。