Как включить или отключить сетевое подключение в WIFI и 3G (план данных) на мобильных устройствах?

Я разрабатываю приложение для Android. В моем приложении я хочу проверить сетевое подключение, например, я хочу проверить сетевое соединение в Wi-Fi и 3G (например, индейцы, в основном, как план данных на мобильных устройствах), как проверить сеть в Wi-Fi и 3G.nbodybody знает, пожалуйста, дайте некоторое представление об этом.

Спасибо

Ответ 1

Вот фрагмент кода. Он возвращает true, если включена сеть, иначе 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;
    }
}

Ответ 2

Пожалуйста, попробуйте

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;
}

Пожалуйста, добавьте ниже разрешение в файл манифеста android.

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

Ответ 3

вы можете использовать нижеприведенный код, который работает для всех версий API:

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;

Ответ 4

Я использую это внутри класса Activity

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