我在app中有webrowser。当互联网连接丢失时,我需要对webrowser做一些事情,例如显示MessageBox,当互联网再次可用时重新连接到网站。我发现可以使用DeviceNetworkInformation.NetworkAvailabilityChanged事件,但是在我测试时,事件没有触发。 我尝试使用DeviceNetworkInformation.IsNetworkAvailable,当导航但这没有我想要的功能。我在诺基亚Lumia 710上进行了测试。
这里是我的简单代码,我是从msdn的例子中得到的 http://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation.devicenetworkinformation.networkavailabilitychanged%28v=vs.92%29.aspx
DeviceNetworkInformation.NetworkAvailabilityChanged + = new EventHandler(NetworkAvailabilityChanged);
void NetworkAvailabilityChanged(object sender, NetworkNotificationEventArgs e)
{
string info = string.Empty;
bool connection = false;
bool disco = false;
switch (e.NotificationType)
{
case NetworkNotificationType.InterfaceConnected:
connection = true;
break;
case NetworkNotificationType.InterfaceDisconnected:
info = "Lost Internet";
disco=true;
break;
case NetworkNotificationType.CharacteristicUpdate:
break;
default:
break;
}
Dispatcher.BeginInvoke(() =>
{
if(disco)
MessageBox.Show(info);
if(connection)
webbrowser1.Navigate(site);
});
}
我有问题我在电话中检查这些方法是IsCellularDataEnabled,IsNetworkAvailable,IsWiFiEnabled返回true。我读到某个地方只有一种类型的网络启用时,事件NetworkAvailabilityChanged才起作用。这是真的吗?
答案 0 :(得分:0)
请查看此页面,它可以帮助您http://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation.devicenetworkinformation.networkavailabilitychanged(v=vs.92).aspx您可以获取与NetworkNotificationEventArgs参数断开连接的信息,因为它说...