How to check the internet connectivity within the network in Android (using internet of some other device through HOTSPOT)

后端 未结 2 1363
独厮守ぢ
独厮守ぢ 2020-12-29 06:58

I have a requirement where I want to check whether there is any internet connectivity when I am connected with the network.

For example, I have device A and device B

相关标签:
2条回答
  • 2020-12-29 07:11

    Try the below function to check your internet connection:

        public static boolean isInternetConnected(Context mContext) {
    
            try {
                ConnectivityManager connect = null;
                connect = (ConnectivityManager) mContext
                        .getSystemService(Context.CONNECTIVITY_SERVICE);
    
                if (connect != null) {
                    NetworkInfo resultMobile = connect
                            .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    
                    NetworkInfo resultWifi = connect
                            .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    
                    if ((resultMobile != null && resultMobile
                            .isConnectedOrConnecting())
                            || (resultWifi != null && resultWifi
                                    .isConnectedOrConnecting())) {
                        return true;
                    } else {
                        return false;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            return false;
        }
    

    Add the following permissions to your manifest file,

      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
    0 讨论(0)
  • 2020-12-29 07:30

    It can be a ridiculous solution but i think also it could be real solution:

    public boolean isOnline() {
        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();
        if (netInfo != null && netInfo.isConnected()) {
            try {
                URL url = new URL("http://www.google.com");
                HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
                urlc.setConnectTimeout(3000);
                urlc.connect();
                if (urlc.getResponseCode() == HttpURLConnection.HTTP_OK) {
                    return new Boolean(true);
                }
            } catch (MalformedURLException mue) {
                // TODO Auto-generated catch block
                mue.printStackTrace();
            } catch (IOException ie) {
                // TODO Auto-generated catch block
                ie.printStackTrace();
            }
        }
        return false;
    }
    
    0 讨论(0)
提交回复
热议问题