Android проверяет, может ли устройство подключаться к сотовой сети передачи данных

Android проверяет, может ли устройство подключаться к сотовой сети передачи данных (2G/3G/4G и т. д.).

Я знаю, что существуют API-интерфейсы для проверки наличия SIM-карты или нет, но я хочу знать, способно ли устройство подключаться к любым сотовым сетям передачи данных или есть ли в устройстве слот для SIM-карты?

Предоставляет ли Android какой-либо API для этого?

** ОБНОВЛЕНИЕ ** :
Если это возможный способ узнать, может ли устройство подключаться к мобильной сети.

int phoneType = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE)).getPhoneType();
if(phoneType == TelephonyManager.PHONE_TYPE_NONE)
{
     // No phone related functionality supported, phones and data network.
}

person User7723337    schedule 26.11.2013    source источник
comment
Проверьте stackoverflow.com/questions/12001863/ и stackoverflow.com/questions/7429722/   -  person Juuso Ohtonen    schedule 14.01.2014


Ответы (1)


Ты пробовал:

ConnectivityManager connectivityManager = (ConnectivityManager) mContext
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager
                .getActiveNetworkInfo();
networkInfo.isConnected() && networkInfo.getType() == ConnectivityManager.TYPE_MOBILE;

?

Последняя строка вернется, если она подключена и является сотовой.

person Drake29a    schedule 26.11.2013
comment
Это для общего подключения устройства, здесь мы не проверяем, способно ли устройство подключаться к сотовой сети передачи данных. он вернет true, если устройство подключено к Wi-Fi. - person User7723337; 26.11.2013
comment
Изменено для определения сотовой связи. Вы также можете проверить тип сотового типа данных с помощью networkInfo.getSubtype(), в TelephonyManager у вас есть константы, например: developer.android.com/reference/android/telephony/ - person Drake29a; 26.11.2013