public NetworkReachability() { //TODO: need a better way to implement this if(_networkBroadcastReceiver == null) { var context = Application.Context; _networkBroadcastReceiver = new NetworkStatusChangeBroadcastReceiver(); _networkBroadcastReceiver.ConnectionStatusChanged += NetworkStatusChanged; Application.Context.RegisterReceiver(_networkBroadcastReceiver, new IntentFilter(ConnectivityManager.ConnectivityAction)); //update the network status for the first time var connectivityManager = (ConnectivityManager)context.GetSystemService(Context.ConnectivityService); var activeConnection = connectivityManager.ActiveNetworkInfo; var connectionStatus = NetworkStatus.NotReachable; if ((activeConnection != null) && activeConnection.IsConnected) { if (activeConnection.Type == ConnectivityType.Wifi) { connectionStatus = NetworkStatus.ReachableViaWiFiNetwork; } else { connectionStatus = NetworkStatus.ReachableViaCarrierDataNetwork; } } this._networkStatus = connectionStatus; } }
public NetworkReachability() { //TODO: need a better way to implement this if (_networkBroadcastReceiver == null) { var context = Application.Context; _networkBroadcastReceiver = new NetworkStatusChangeBroadcastReceiver(); _networkBroadcastReceiver.ConnectionStatusChanged += NetworkStatusChanged; Application.Context.RegisterReceiver(_networkBroadcastReceiver, new IntentFilter(ConnectivityManager.ConnectivityAction)); //update the network status for the first time var connectivityManager = (ConnectivityManager)context.GetSystemService(Context.ConnectivityService); var activeConnection = connectivityManager.ActiveNetworkInfo; var connectionStatus = NetworkStatus.NotReachable; if ((activeConnection != null) && activeConnection.IsConnected) { if (activeConnection.Type == ConnectivityType.Wifi) { connectionStatus = NetworkStatus.ReachableViaWiFiNetwork; } else { connectionStatus = NetworkStatus.ReachableViaCarrierDataNetwork; } } this._networkStatus = connectionStatus; } }