Определение типа сети 2G, 3G или 4G

Я разрабатываю приложение для Android, в котором я проверяю тип мобильной сети передачи данных для 2G, 3G и 4G. Я использую для этого приведенный ниже код.

        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info = cm.getActiveNetworkInfo();

        int netType = info.getType();
        int netSubType = info.getSubtype();

Я проверяю подключение 2G, используя приведенный ниже код.

        if (netType == ConnectivityManager.TYPE_MOBILE && netSubType == TelephonyManager.NETWORK_TYPE_EDGE)
        {
            Log.e("2G enabled","2G enabled");
        }

И используйте приведенный ниже код для проверки подключения 3G.

        else if (netType == ConnectivityManager.TYPE_MOBILE && netSubType == TelephonyManager.NETWORK_TYPE_HSPA)
        {
            Log.e("3G enabled","3G enabled");   
        }

Однако приведенный выше код для 3G не работает. И я тоже пытался использовать приведенный ниже код.

     TelephonyManager.NETWORK_TYPE_HSUPA

     TelephonyManager.NETWORK_TYPE_HSPA

     TelephonyManager.NETWORK_TYPE_HSDPA

Тем не менее, он не может обнаружить доступность 3G. Не понимаю, где я ошибаюсь! Пожалуйста помоги! Спасибо!


person sanjana    schedule 16.10.2013    source источник
comment
см. эту ссылку stackoverflow.com/questions/2802472 / надеюсь, это поможет вам.   -  person Addicted Manish    schedule 16.10.2013


Ответы (1)


Попробуйте что-то вроде ниже:

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);      


if ((tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_HSDPA)) {
        Log.d("3G enabled", "3G enabled");
    } else if ((tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_HSPAP)) {
        Log.d("4G enabled", "4G enabled"); 
    }else if ((tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_EDGE)) {
        Log.e("2G enabled","2G enabled");
    }
person Sagar Maiyad    schedule 16.10.2013
comment
Можете ли вы помочь мне, как использовать этот код в мобильном телефоне с поддержкой двух SIM-карт? - person iOS; 11.12.2018