суббота, 23 февраля 2013 г.

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

Довольно часто мобильные приложения используются для передачи данных по сети, например, для загрузки ленты новостей из внешних интернет-ресурсов, загрузки данных с собственного сервера, отправки сообщений из приложения в аккаунт пользователя в социальных сетях и т. д. Для таких приложений необходимо активное подключение к одному из доступных видов сети: GSM, GPRS, 3G, WiFi и другие.
Для корректной работы приложения нужно проверять текущее состояние подключения к сети, а затем при условии доступности сети выполнять дальнейшие операции.
Для получения состояния подключения к сети нужно добавить соответствующие разрешения в файл манифеста  AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

 Для проверки состояния сети предназначены классы ConnectivityManager и NetworkInfo. Следующий код определяет существует ли подключение к беспроводной сети:

 ConnectivityManager connMgr = (ConnectivityManager)
        getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
    if (networkInfo != null && networkInfo.isConnected()) {
        // Выполнить дальнейшие операции
    } else {
        // Показать сообщение об ошибке
    }



В классе NetworkInfo реализованы методы для определения типа сети, к которой в данный момент подключено мобильное устройство:
getType() - возвращает одно из значений перечисления: TYPE_MOBILE, TYPE_WIFI, TYPE_WIMAX, TYPE_ETHERNET, TYPE_BLUETOOTH,
getTypeName() - возвращает имя типа сети в читаемом для человека виде, например "WIFI".
Этой информации должно быть достаточно для выполнения различных действий при подключении к различным беспроводным сетям.
Удачного программирования!

Комментариев нет:

Отправить комментарий