Проверьте сеть 2G

Я пишу широковещательный приемник, который прослушивает изменения подключения.

Моя цель - проверить, доступна ли сеть 2G (есть ли Wi-Fi или нет).

Я читал несколько статей и переписывал свой класс, но не могу добиться правильного результата...

Любая помощь будет здорово...


person MademoiselleLenore    schedule 25.01.2013    source источник
comment
пожалуйста, опубликуйте свой код, который не работает   -  person Thrakbad    schedule 25.01.2013


Ответы (4)


Если вы действительно заботитесь только о 2G, это сработает.

private boolean is2gNetwork() {
    ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo network = conMgr.getActiveNetworkInfo();

    // Check we're connected with a mobile network
    if (null != network && network.isConnectedOrConnecting()
            && network.getType() == ConnectivityManager.TYPE_MOBILE) {

        // Check we're on GPRS or EDGE
        final int subType = network.getSubtype();
        return subType == TelephonyManager.NETWORK_TYPE_EDGE
                || subType == TelephonyManager.NETWORK_TYPE_GPRS;
    }

    return false;
}
person Chris Banes    schedule 25.01.2013
comment
Большое спасибо, именно то, с чем я боролся! - person MademoiselleLenore; 25.01.2013

Попробуйте использовать метод getActiveNetworkInfo() класса ConnectivityManager.

person sohel khalifa    schedule 25.01.2013

попробуй это.

   ConnectivityManager con = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (con != null) {
    NetworkInfo info = con.getActiveNetworkInfo();
    if (info != null && (info.isAvailable() || !info .isConnected())) {
    // do your code part
    }
    }
person Raj    schedule 25.01.2013

попробуй это

  public void CheckStatus() {               

    ConnectivityManager connectionstate = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo network = connectionstate.getActiveNetworkInfo(); 

    if (network != null && network.isConnected() == true) {
        Toast.makeText(this, "Network Available", Toast.LENGTH_SHORT).show();           
    } else {            
        Toast.makeText(this, "Network Not Available", Toast.LENGTH_SHORT).show();    

        .show();         
    }
}
person NagarjunaReddy    schedule 25.01.2013