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

4

8

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

Alcatraz answered 21/3, 2011 at 4:50 Comment(0)
R
9

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;
    }
}
Ramires answered 21/3, 2011 at 4:56 Comment(2)
Edit the code - you have 2 vars with the same value ! You are calling getActiveNetworkInfo() AND isConnectedOrConnecting() 3 times !Hayott
The above code is correct. But what if mobile is connected to wifi but actually no data getting for browsing. In that time how to find it.Toxemia
P
39

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" />
Phalanx answered 21/3, 2011 at 4:50 Comment(2)
If SimCard is not available in device like Tablet than.??Demise
when it is connected to wifi, it will return true. But when it is connected to wifi but no actually data getting for browing purpose. In such situation How to find connected to wifi but no internet connection?Toxemia
R
9

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;
    }
}
Ramires answered 21/3, 2011 at 4:56 Comment(2)
Edit the code - you have 2 vars with the same value ! You are calling getActiveNetworkInfo() AND isConnectedOrConnecting() 3 times !Hayott
The above code is correct. But what if mobile is connected to wifi but actually no data getting for browsing. In that time how to find it.Toxemia
R
2

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;
Redfish answered 19/3, 2015 at 10:46 Comment(0)
C
1

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);
}
Cord answered 5/5, 2016 at 6:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.