我需要在模拟器中测试我的应用,检查互联网连接。 我正在使用以下课程(从这里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。对不起我糟糕的英语。
答案 0 :(得分:1)
即使您将网络条件模拟为没有网络,模拟器也始终将NetworkInformation.GetInternetConnectionProfile()返回true。
使用物理设备测试应用程序。(它会正常工作)。