C# 如何在Windows Phone 8.1(通用应用程序)中确定连接到WiFi还是移动网络?

C# 如何在Windows Phone 8.1(通用应用程序)中确定连接到WiFi还是移动网络?,c#,windows-phone-8.1,azure-mobile-services,connectivity,win-universal-app,C#,Windows Phone 8.1,Azure Mobile Services,Connectivity,Win Universal App,我正在使用Windows通用应用程序(Windows 8.1和Windows Phone 8.1之间的共享后端,而不是Silverlight)。应用程序通过Azure移动服务连接到Azure。在应用程序的设置中,我希望能够选择仅通过WiFi网络进行同步 如何确定手机是否连接到WiFi或移动网络?虽然通过我的研究,我已经找到了在旧版本的Windows Phone和Silverlight上实现这一点的方法,但似乎我只能通过Windows Universal app确定设备是否连接到internet。

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


如何确定手机是否连接到WiFi或移动网络?虽然通过我的研究,我已经找到了在旧版本的Windows Phone和Silverlight上实现这一点的方法,但似乎我只能通过Windows Universal app确定设备是否连接到internet。

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

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

这是我的参考资料。

我相信您可以通过使用类似于以下内容的方法来确定此信息:

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
属性,用于确定连接是否通过“移动”连接(3g等)。

这是否确定连接是WiFi连接,还是移动网络连接,或者只是普通网络连接?检查此链接:我知道如何检查internet连接,但我正在寻找一种方法来确定该连接是通过WiFi还是通过移动数据(如果之前不清楚的话,很抱歉)。这仅适用于Windows Phone Silverlight,而不是WinRT API。请注意:这仅适用于Windows Phone 8和Windows Phone Silverlight 8.1!请参阅此链接:@utsavdown我将此代码放入了一个新的通用应用程序(windows phone和windows应用商店应用程序),它可以正常工作。没有提到它是一个SilverlightAPI。起初我认为这不起作用,但“connectionProfile!=null”很重要!谢谢你们的帮助。我在写了它之后修改了它来处理空连接配置文件,因为它在使用飞行模式时崩溃了。也许或者会有帮助。