如何在wp7中检查网络连接?

9

我希望在我的应用程序中检查网络连接。但是,它没有正确显示。

我正在使用以下代码进行Internet连接:

 NetworkInterface.GetIsNetworkAvailable();

在这段代码中,始终返回真值。如果网络可用或不可用,则仅返回真值。如果有人知道如何实现这一点,请告诉我。谢谢。

可能是如何在使用Web服务时检查连接服务?的重复问题。 - Heinrich Ulbricht
它提出了相同的答案。厌倦了虚假的重复。 - Léon Pelletier
3个回答

16

检查 NetworkInterfaceType。如果互联网可用,则它应该不是None

 return (Microsoft.Phone.Net.NetworkInformation.NetworkInterface.NetworkInterfaceType != 
 Microsoft.Phone.Net.NetworkInformation.NetworkInterfaceType.None);

NetworkInterface.GetIsNetworkAvailable(); NetworkInterface.Equal(); NetworkInterface.ReferenceEqual(); 只展示这三个选项。检查一下,没有 NetworkInterface.NetworkInterfaceType 这个选项。 - Jeeva
1
它位于Microsoft.Phone.Net.NetworkInformation命名空间中。你可能正在使用System.Net.NetworkInformation并在那里查找。 - Ku6opr
有没有想过为什么在没有网络的情况下从WP8模拟器中调用它会导致VS和模拟器不响应10-15秒钟? - MLProgrammer-CiM

6
在Windows Phone模拟器中,NetworkInterface.GetIsNetworkAvailable()始终会返回true。即使您的PC没有互联网连接,模拟器也会将本地/内部连接计入其中。
如果您在真实设备上测试并将其切换到飞行模式等情况下,返回值将为false。

3

在 Windows Phone 模拟器上,NetworkInterface.GetIsNetworkAvailable() 总是返回 true。你可以尝试下面的代码来检测网络是否可用。

using Microsoft.Phone.Net.NetworkInformation;    
    if (DeviceNetworkInformation.IsNetworkAvailable)
    {
    MessageBox.Show("network available") ;              
    }
    else
    {
    MessageBox.Show("No network.") ;   
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接