Пример #1
0
        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;
            }
        }
Пример #2
0
        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;
            }
        }