在Detect if Network is Available中引入了Reachability类。InternetConnectionStatus()似乎没有做我想要的事情。我想检查WiFi是否可用,不管是否可以连接互联网。不知道是否是DNS服务器丢失或类似的原因。目前,似乎总是对互联网连接进行测试。LocalWifiConnectionStatus()更好吗?
如何仅检查用户是否已登录到WLAN连接?
发布于 2017-03-03 12:34:05
现在,将检查互联网的代码添加到您的类中,并使用Plugin.Connectivity;使用命名空间
private bool CheckConnectivity()
{
var isConnected = CrossConnectivity.Current.IsConnected;
return isConnected;
}发布于 2014-10-14 20:29:25
我不知道在我写这段代码后是否有API更新,但你可以尝试阅读SSID:
/// <summary>
/// Gets the current SSID.
/// </summary>
/// <value>The current SSID.</value>
public string CurrentSSID
{
get
{
NSDictionary dict;
var status = CaptiveNetwork.TryCopyCurrentNetworkInfo ("en0", out dict);
if (status == StatusCode.NoKey)
{
return string.Empty;
}
var bssid = dict [CaptiveNetwork.NetworkInfoKeyBSSID];
var ssid = dict [CaptiveNetwork.NetworkInfoKeySSID];
var ssiddata = dict [CaptiveNetwork.NetworkInfoKeySSIDData];
return ssid.ToString();
}
}如果LocalWifiConnectionStatus更适合您的需要,您也可以尝试使用它。
/// <summary>
/// The local WiFi connection status.
/// </summary>
/// <returns>
/// The <see cref="NetworkStatus"/>.
/// </returns>
public static NetworkStatus LocalWifiConnectionStatus()
{
NetworkReachabilityFlags flags;
return (!IsAdHocWiFiNetworkAvailable(out flags) || (flags & NetworkReachabilityFlags.IsDirect) == 0) ?
NetworkStatus.NotReachable :
NetworkStatus.ReachableViaWiFiNetwork;
}发布于 2016-12-07 06:01:38
我知道这是旧的,但我正在寻找同样的东西,并结合answers...Anybody有更好的建议或理由不这样做?
public NetworkState GetNetworkState()
{
object ssid = null;
NSDictionary dict = null;
var status = CaptiveNetwork.TryCopyCurrentNetworkInfo("en0", out dict);
if (status == StatusCode.OK)
ssid = dict[CaptiveNetwork.NetworkInfoKeySSID];
using (SystemConfiguration.NetworkReachability r = new NetworkReachability("www.appleiphonecell.com"))
{
NetworkReachabilityFlags flags;
if (r.TryGetFlags(out flags))
{
if ((flags & NetworkReachabilityFlags.Reachable) != 0)
{
if (ssid != null && !string.IsNullOrEmpty(ssid.ToString()))
return NetworkState.Wifi;
else
return NetworkState.Carrier;//we are not connected to wifi, but we can reach the site...
}
}
}
return NetworkState.None;
}https://stackoverflow.com/questions/26354265
复制相似问题