Blackberry получает уведомление, когда доступно подключение к Интернету.

есть ли способ узнать, подключена ли сеть или нет в устройстве blackbery. У меня есть следующий код, но он ждал, пока сеть не истечет.

int rc = connection.getResponseCode();
if (rc != HttpConnection.HTTP_OK) {
 throw new IOException("HTTP response code: " + rc);
}

Есть ли другой способ.


person Govula Srinivas    schedule 01.09.2009    source источник


Ответы (2)


Название этого вопроса имеет другое значение, чем его текст. Основываясь на заголовке, вы можете получать уведомления о запуске сети с помощью интерфейса RadioStatusListener, который определяет функцию networkStarted (). Затем вы можете использовать проверки, которые рекомендует Coldice, чтобы убедиться, что текущая сеть поддерживает передачу данных.

RadioStatusListner JavaDocs

person Fostah    schedule 01.09.2009
comment
Во-вторых, я определяю это, в частности метод networkStateChange (int state) в RadioStatusListner. Это избавит вас от необходимости иметь фоновый поток, который всегда проверяет состояние сети. Хотя я также рекомендую каждый раз проверять RadioInfo.isDataServiceOperational () перед тем, как устанавливать соединение для передачи данных. Учитывая, что вы можете застрять в ожидании тайм-аута, это рекомендуемая практика. - person AtariPete; 01.09.2009

Есть несколько API для получения информации о сети:

RadioInfo.isDataServiceOperational();
CoverageInfo.isOutOfCoverage();
WLANInfo.getWLANState();
person Maksym Gontar    schedule 01.09.2009
comment
+1 RadioInfo.getState () также может быть полезным при попытке создать надежные / полезные сообщения об ошибках для пользователей. - person Fostah; 01.09.2009