IsNetworkavailable属性始终返回true

本文关键字:返回 true 属性 IsNetworkavailable | 更新日期: 2023-09-27 18:21:45

如何在c#代码中查找我的windows手机互联网或网络连接是否打开?对我来说,isnetworkavailable总是返回true。

IsNetworkavailable属性始终返回true

您可以尝试使用GetIsNetworkAvailable,它会根据可用的网络接口返回结果。像这样:

bool isNetworkAvailable=NetworkInterface.GetIsNetworkAvailable();
if(!isNetworkAvailable)
{
   //your code
}

唯一的查找方法是订阅事件DeviceNetworkInformation.NetworkAvailabilityChanged

一旦您收到该事件(保证在网络的更改时发生),您将通过查询此处的各种api来知道您是否已连接。

有一个示例代码可以准确地告诉你如何做到这一点

您也可以使用NetworkInterface.NetworkInterfaceType检查您所在的网络类型,但请小心,因为在某些情况下(例如,连接到wifi就是其中之一),调用此API可能会冻结调用线程(或UI,如果您正在运行主线程)
然而,如果你再次效仿这些例子,你应该会没事的!