Windows Phone 8.1模拟器检查Internet连接

时间:2016-02-29 20:46:52

标签: c# windows-phone-8.1 emulation

我需要在模拟器中测试我的应用,检查互联网连接。 我正在使用以下课程(从这里http://www.jayway.com/2015/04/23/how-to-verify-internet-access-in-universal-apps/):

public class Connection
{
    public static bool HasInternetAccess { get; private set; }

    public Connection() {
        NetworkInformation.NetworkStatusChanged += NetworkInformationOnNetworkStatusChanged;
        CheckInternetAccess();
    }

    private void NetworkInformationOnNetworkStatusChanged(object sender) {
        CheckInternetAccess();
    }

    private void CheckInternetAccess() {
        var connectionProfile = NetworkInformation.GetInternetConnectionProfile();
        HasInternetAccess = (connectionProfile != null &&
                             connectionProfile.GetNetworkConnectivityLevel() ==
                             NetworkConnectivityLevel.InternetAccess);
    }
}

并使用class检查连接:

Connection conn = new Connection();
if (Connection.HasInternetAccess) {
      // some code
} else {
      MessageDialog msgbox = new MessageDialog("no internet");
      await msgbox.ShowAsync();
}

问题是我每次都会在模拟器中变为现实。 我从这里尝试了解决方案How to disconnect Windows Phone 8.1 emulator from network?,甚至重新启动了PC,但没有任何改变。

在设备上进行测试是正确的。如果启用了连接,则为True;如果禁用连接,则为false。

P.S。对不起我糟糕的英语。

1 个答案:

答案 0 :(得分:1)

即使您将网络条件模拟为没有网络,模拟器也始终将NetworkInformation.GetInternetConnectionProfile()返回true。

使用物理设备测试应用程序。(它会正常工作)。