Google Android - как выяснить, включены ли 3g и 2g - PullRequest
10 голосов
/ 18 апреля 2009

Я разрабатываю простое приложение для 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) включить и выключить вайфай.

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

Ответы [ 2 ]

13 голосов
/ 18 апреля 2009

2G / 3G

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

TelephonyManager.getNetworkType();

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

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

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


On / Off

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

ServiceState.getState();

Для настройки используйте:

ServiceState.setState(STATE_POWER_OFF);

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

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

2 голосов
/ 05 мая 2009

Вы также можете использовать ConnectivityManager. Примерно так:

ConnectivityManager connectivityManager =(ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...