Google Android – как выяснить, включены ли 3g и 2g

Я разрабатываю простое приложение для Google Android для включения и отключения Wi-Fi или 3g или 2g.

Я вижу http://developer.android.com/reference/android/net/wifi/WifiManager.html#isWifiEnabled (), что вы можете увидеть, включен ли Wi-Fi или отключен, а также мы http://developer.android.com /reference/android/net/wifi/WifiManager.html#setWifiEnabled(boolean) для включения и отключения Wi-Fi.

Мне интересно, можно ли сделать то же самое для 3G и для 2G / GPRS? Я знаю, что это возможно, потому что вы можете отключить 3G и оставить 2G.

Solutions Collecting From Web of "Google Android – как выяснить, включены ли 3g и 2g"

2G / 3G

Чтобы определить тип сети, используйте:

TelephonyManager.getNetworkType(); 

Вот пример кода:

 bool is3G = (manager.getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS); 

Документы для этого класса можно найти по адресу: TelephonyManager

Вкл выкл

Чтобы проверить, включено или выключено ваше радиотелефон, используйте:

 ServiceState.getState(); 

Чтобы установить его, используйте:

 ServiceState.setState(STATE_POWER_OFF); 

Неясно, существует ли метод setState для всех устройств и функций во всех состояниях. Для этого метода нет документации. Документацию для класса можно найти по адресу: ServiceState

Эта проблема также может быть актуальной: http://code.google.com/p/android/issues/detail?id=1065

Вы также можете использовать ConnectivityManager. Что-то вроде того:

 ConnectivityManager connectivityManager =(ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();