Xamarin.iOS中的网络类型

时间:2018-09-06 09:09:14

标签: c# ios xamarin xamarin.ios

我在Xamarin工作。现在我想在Xamarin.iOS中获取当前的网络类型,例如4G,3G,wifi ...

我是Xamarin的新朋友。任何建议都会有用

2 个答案:

答案 0 :(得分:2)

要建立连接的网络类型,请使用CTTelephonyNetworkInfo这样的类

var telephonyInfo = new CTTelephonyNetworkInfo();
var networkType = telephonyInfo.CurrentRadioAccessTechnology;

您将定义的可能值如下:CTRadioAccessTechnologyGPRSCTRadioAccessTechnologyEdgeCTRadioAccessTechnologyWCDMACTRadioAccessTechnologyLTE

答案 1 :(得分:1)

您可以获取来自iOS示例的Reachabilityhttps://github.com/xamarin/ios-samples/blob/master/ReachabilitySample/reachability.cs

然后您可以通过以下方式获取连接状态:

var internetStatus = Reachability.InternetConnectionStatus();
switch(internetStatus)
{
    case NetworkStatus.ReachableViaCarrierDataNetwork:
        // do something on cellular network
        break;
    case NetworkStatus.ReachableViaWiFiNetwork:
        // do something on wifi network
        break;
}

您可以通过以下方式获得有关更改的通知:

Reachability.ReachabilityChanged += OnReachabilityChanged;

private void OnReachabilityChanged(object sender, EventArgs args)
{
    internetStatus = Reachability.InternetConnectionStatus();
}