Exemplo n.º 1
0
        private void DetectNetwork()
        {
            ConnectivityManager connectivityManager = (ConnectivityManager)GetSystemService(ConnectivityService);
            NetworkInfo         activeConnection    = connectivityManager.ActiveNetworkInfo;

            bool isOnline = (activeConnection != null) && activeConnection.IsConnected;

            Log.Debug(TAG, "IsOnline = {0}", isOnline);

            if (isOnline)
            {
                _isConnectedImage.SetImageResource(Resource.Drawable.green_square);

                // Display the type of connection
                NetworkInfo.State activeState = activeConnection.GetState();
                _connectionType.Text = activeConnection.TypeName;

                // Check for a WiFi connection
                NetworkInfo wifiInfo = connectivityManager.GetNetworkInfo(ConnectivityType.Wifi);
                if (wifiInfo.IsConnected)
                {
                    Log.Debug(TAG, "Wifi connected.");
                    _wifiImage.SetImageResource(Resource.Drawable.green_square);
                }
                else
                {
                    Log.Debug(TAG, "Wifi disconnected.");
                    _wifiImage.SetImageResource(Resource.Drawable.red_square);
                }

                // Check if roaming
                NetworkInfo mobileInfo = connectivityManager.GetNetworkInfo(ConnectivityType.Mobile);
                if (mobileInfo.IsRoaming && mobileInfo.IsConnected)
                {
                    Log.Debug(TAG, "Roaming.");
                    _roamingImage.SetImageResource(Resource.Drawable.green_square);
                }
                else
                {
                    Log.Debug(TAG, "Not roaming.");
                    _roamingImage.SetImageResource(Resource.Drawable.red_square);
                }
            }
            else
            {
                _isConnectedImage.SetImageResource(Resource.Drawable.red_square);
                _wifiImage.SetImageResource(Resource.Drawable.red_square);
                _roamingImage.SetImageResource(Resource.Drawable.red_square);
                _connectionType.Text = "N/A";
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取网络状态
        /// </summary>
        /// <returns><c>true</c>, if net work was checked, <c>false</c> otherwise.</returns>
        /// <param name="context">Context.</param>
        public static bool CheckNetWork(Context context)
        {
            var connectivityManager = (ConnectivityManager)context.GetSystemService(Context.ConnectivityService);

            if (connectivityManager.ActiveNetworkInfo != null)
            {
                NetworkInfo.State netWorkState = connectivityManager.ActiveNetworkInfo.GetState();
                if (netWorkState == NetworkInfo.State.Connected)
                {
                    return(true);
                }
            }
            return(false);
        }
Exemplo n.º 3
0
        public void Connect(string leonetId, string leonetPassword)
        {

            NetworkInfo activeConnection = _connectivityManager.ActiveNetworkInfo;

            bool isOnline = (activeConnection != null) && activeConnection.IsConnected;

            if (isOnline)
            {
                // Networkのタイプを表示
                NetworkInfo.State activeState = activeConnection.GetState();
                System.Diagnostics.Debug.WriteLine(activeConnection.TypeName);

                // 全接続を取得して、それぞれの接続状態を確認
                // GetAllNetworks()は5.0以上でそれ以前はgetAllNetworkInfo()を使用
                if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
                {
                    Network[] allNetworks = _connectivityManager.GetAllNetworks();
                    foreach (var network in allNetworks)
                    {
                        
                        NetworkInfo info = _connectivityManager.GetNetworkInfo(network);
                        var connect = info.IsConnectedOrConnecting ? "cennected" : "disconnected";
                        System.Diagnostics.Debug.WriteLine($"{info.TypeName} is {connect}");

                        if (info.Type == ConnectivityType.Wifi)
                        {
                            Authenticator.SetDefault(new BasicAuthenticator(leonetId, leonetPassword));
                            var leonetUrlString = "http://#GATEWAY#/login.cgi".Replace("#GATEWAY#", GetDefaultGateway());
                            var leonetUrl = new URL(leonetUrlString);
                            Task.Run(() =>
                            {
                                network.OpenConnection(leonetUrl);
                            });
                            
                        }

                    }
                }
                else
                {
                    NetworkInfo[] allNetworks = _connectivityManager.GetAllNetworkInfo();
                    foreach (var item in allNetworks)
                    {
                        var connect = item.IsConnectedOrConnecting ? "cennected" : "disconnected";
                        System.Diagnostics.Debug.WriteLine($"{item.TypeName} is {connect}");
                    }
                }
            }
        }
Exemplo n.º 4
0
        private void DetectNetwork()
        {
            ConnectivityManager connectivityManager = (ConnectivityManager)GetSystemService(ConnectivityService);
            NetworkInfo         info = connectivityManager.ActiveNetworkInfo;
            bool isOnline            = info.IsConnected;

            Log.Debug(TAG, "IsOnline = {0}", isOnline);

            if (isOnline)
            {
                _isConnectedImage.SetImageResource(Resource.Drawable.green_square);

                // Display the type of connectionn
                NetworkInfo.State activeState = info.GetState();
                _connectionType.Text = info.TypeName;

                // Check for a WiFi connection
                bool isWifi = info.Type == ConnectivityType.Wifi;
                if (isWifi)
                {
                    Log.Debug(TAG, "Wifi connected.");
                    _wifiImage.SetImageResource(Resource.Drawable.green_square);
                }
                else
                {
                    Log.Debug(TAG, "Wifi disconnected.");
                    _wifiImage.SetImageResource(Resource.Drawable.red_square);
                }

                // Check if roaming
                if (info.IsRoaming)
                {
                    Log.Debug(TAG, "Roaming.");
                    _roamingImage.SetImageResource(Resource.Drawable.green_square);
                }
                else
                {
                    Log.Debug(TAG, "Not roaming.");
                    _roamingImage.SetImageResource(Resource.Drawable.red_square);
                }
            }
            else
            {
                _isConnectedImage.SetImageResource(Resource.Drawable.red_square);
                _wifiImage.SetImageResource(Resource.Drawable.red_square);
                _roamingImage.SetImageResource(Resource.Drawable.red_square);
                _connectionType.Text = "N/A";
            }
        }
Exemplo n.º 5
0
        private void DetectNetworkT()
        {
            ConnectivityManager connectivityManager = (ConnectivityManager)GetSystemService(ConnectivityService);
            NetworkInfo         info = connectivityManager.ActiveNetworkInfo;
            bool isOnline            = info.IsConnected;

            Log.Debug(TAG, "IsOnline = {0}", isOnline);

            if (isOnline)
            {
                // Display the type of connectionn
                NetworkInfo.State activeState = info.GetState();


                // Check for a WiFi connection
                bool isWifi = info.Type == ConnectivityType.Wifi;
                if (isWifi)
                {
                    Android.App.AlertDialog.Builder build = new AlertDialog.Builder(this);
                    AlertDialog alertDialog = build.Create();
                    alertDialog.SetTitle("Mensaje");
                    alertDialog.SetIcon(Android.Resource.Drawable.IcDialogAlert);
                    alertDialog.SetMessage("Parece que estas conectado a wifi");
                    alertDialog.SetButton("OK", (s, ev) =>
                    {
                        StartActivity(typeof(SplashScreen));
                    });
                    alertDialog.Show();
                }
                else
                {
                    Log.Debug(TAG, "Wifi disconnected.");
                }

                // Check if roaming
                if (info.IsRoaming)
                {
                    Log.Debug(TAG, "Roaming.");
                }
                else
                {
                    Log.Debug(TAG, "Not roaming.");
                }
            }
            else
            {
            }
        }
        public override void OnReceive(Context context, Intent intent)
        {
            string GetStateName(NetworkInfo.State state)
            {
                if (state == null)
                {
                    return("(null)");
                }

                if (state == NetworkInfo.State.Connected)
                {
                    return(nameof(NetworkInfo.State.Connected));
                }
                if (state == NetworkInfo.State.Connecting)
                {
                    return(nameof(NetworkInfo.State.Connecting));
                }
                if (state == NetworkInfo.State.Disconnected)
                {
                    return(nameof(NetworkInfo.State.Disconnected));
                }
                if (state == NetworkInfo.State.Disconnecting)
                {
                    return(nameof(NetworkInfo.State.Disconnecting));
                }
                if (state == NetworkInfo.State.Suspended)
                {
                    return(nameof(NetworkInfo.State.Suspended));
                }
                if (state == NetworkInfo.State.Unknown)
                {
                    return(nameof(NetworkInfo.State.Unknown));
                }
                return("(unmatch)");
            }

            string message;
            ConnectivityManager cm = (ConnectivityManager)context.GetSystemService(Context.ConnectivityService);

            NetworkInfo.State wifiState   = cm.GetNetworkInfo(ConnectivityType.Wifi).GetState();
            NetworkInfo.State mobileState = cm.GetNetworkInfo(ConnectivityType.Mobile).GetState();

            message = $"WIFI: {GetStateName(wifiState)}, MOBILE: {GetStateName(mobileState)}";

            //
            // WIFI Connected
            //
            if (wifiState == NetworkInfo.State.Connected)
            {
                Intent srv = new Intent(context.ApplicationContext, typeof(MainService));
                context.ApplicationContext.StartService(srv);
            }


            /*
             * if (wifiState != null &&
             *  mobileState != null &&
             *  NetworkInfo.State.Connected != wifiState &&
             *  NetworkInfo.State.Connected == mobileState) {
             *  message = "手机网络连接成功";
             * }
             * else if (wifiState != null &&
             *       mobileState != null &&
             *       NetworkInfo.State.Connected != wifiState &&
             *       NetworkInfo.State.Connected != mobileState) {
             *  message = "手机没有任何的网络";
             * }
             * else if (wifiState != null &&
             *       NetworkInfo.State.Connected == wifiState) {
             *  message = "无线网络连接成功";
             * }
             * else {
             *  message = "不知道怎么变了= =";
             * }
             */

            //Toast.MakeText(context, message, ToastLength.Short).Show();
        }
        public override void OnReceive(Context context, Intent intent)
        {
            if (intent == null || intent.Extras == null)
            {
                return;
            }

            ConnectivityManager manager = (ConnectivityManager)context.GetSystemService(Context.ConnectivityService);

            NetworkInfo networkInfo = manager.ActiveNetworkInfo;

            if (networkInfo != null)
            {
                NetworkInfo.State connectionStatus = networkInfo.GetState();

                if (connectionStatus == NetworkInfo.State.Connected)
                {
                    NetworkStatus = Status.CONNECTED;

                    NetworkType = networkInfo.Type;

                    NetworkDescription = networkInfo.TypeName;
                }
                else if (connectionStatus == NetworkInfo.State.Disconnected)
                {
                    NetworkStatus = Status.NOT_CONNECTED;

                    NetworkType = ConnectivityType.Dummy;

                    NetworkDescription = "";
                }
                else if (connectionStatus == NetworkInfo.State.Connecting)
                {
                    NetworkStatus = Status.IS_CONNECTING;

                    NetworkType = ConnectivityType.Dummy;

                    NetworkDescription = "";
                }
                else if (connectionStatus == NetworkInfo.State.Disconnecting)
                {
                    NetworkStatus = Status.IS_DISCONNECTING;

                    NetworkType = ConnectivityType.Dummy;

                    NetworkDescription = "";
                }
                else if (connectionStatus == NetworkInfo.State.Suspended)
                {
                    NetworkStatus = Status.SUSPENDED;

                    NetworkType = ConnectivityType.Dummy;

                    NetworkDescription = "";
                }
                else if (connectionStatus == NetworkInfo.State.Unknown)
                {
                    NetworkStatus = Status.UNKNOWN;

                    NetworkType = ConnectivityType.Dummy;

                    NetworkDescription = "";
                }
            }
            else
            {
                NetworkStatus = Status.NOT_AVAILABLE;

                NetworkType = ConnectivityType.Dummy;

                NetworkDescription = "";
            }

            NotifyStateToAll();

            CurrentNetworkType        = NetworkType;
            CurrentNetworkDescription = NetworkDescription;
        }