JohnRick
JohnRick

Reputation: 187

How to check network connection enable or disable in WIFI and 3G(data plan) in mobile?

I am developing an android application,In my application,I want to check network connection,like i want to check network connection in wifi and 3G(like Indians mostly like data plan in mobile),how to check network in wifi and 3G.naybody knows,please give some idea about that.

Thanks

Upvotes: 8

Views: 24578

Answers (4)

Ram B Gorre
Ram B Gorre

Reputation: 11

I am using this one inside Activity class

private boolean isConnectedToInternet() {
  ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
  NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
  return (networkInfo != null);
}

Upvotes: 1

Chirag
Chirag

Reputation: 56935

Please try this

public static boolean isInternetConnected (Context ctx) {
    ConnectivityManager connectivityMgr = (ConnectivityManager) ctx
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo wifi = connectivityMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    NetworkInfo mobile = connectivityMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    // Check if wifi or mobile network is available or not. If any of them is
    // available or connected then it will return true, otherwise false;
    if (wifi != null) {
        if (wifi.isConnected()) {
            return true;
        }
    }
    if (mobile != null) {
        if (mobile.isConnected()) {
            return true;
        }
    }
    return false;
}

Please add below permission in android manifest file.

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Upvotes: 39

Arun kumar
Arun kumar

Reputation: 1894

you can use below code this is working for all API versions:

ConnectivityManager cm =
                (ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        boolean isConnected = activeNetwork != null &&
                              activeNetwork.isConnectedOrConnecting();

    if(isConnected)
    {
    if(activeNetwork.getType()==ConnectivityManager.TYPE_MOBILE)
    return true;    

    else
        return false;
    }

    else
        return false;

Upvotes: 2

Piyush Patel
Piyush Patel

Reputation: 1825

Here is code snippet. It returns true if network enable ,else false

private boolean netCheckin() {
    try {
        ConnectivityManager nInfo = (ConnectivityManager) getSystemService(
            Context.CONNECTIVITY_SERVICE);
        nInfo.getActiveNetworkInfo().isConnectedOrConnecting();
        Log.d(tag, "Net avail:"
            + nInfo.getActiveNetworkInfo().isConnectedOrConnecting());
        ConnectivityManager cm = (ConnectivityManager) getSystemService(
            Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();
        if (netInfo != null && netInfo.isConnectedOrConnecting()) {
            Log.d(tag, "Network available:true");
            return true;
        } else {
            Log.d(tag, "Network available:false");
            return false;
        }
    } catch (Exception e) {
        return false;
    }
}

Upvotes: 9

Related Questions