Как проверить активное подключение к Интернету в blackberry SDK?

#java #blackberry

#java #blackberry

Вопрос:

Как мы можем проверить, доступно подключение к Интернету или нет в приложении Blackberry?

Когда я отправляю запрос на свой сервер, я хочу проверить доступность подключения к своему устройству.

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

1. Наверняка API, который вы используете для отправки запроса на ваш сервер, возвращает код ошибки, если ваш сервер недоступен?

2. не можем ли мы вручную проверить, что WLAN / GPRS (служба Blackberry) уже активирована или нет??

Ответ №1:

Привет, вы можете проверить свое соединение с помощью этого кода.

 public  static boolean isConnectionAvailable(String networkName) {
    HttpConnection connection;
    try {
        HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory("http://m.google.com");
        connection = httpConnectionFactory.makeConnectionUsing(networkName);
        if(connection == null)
            return false;
        else if (connection.getResponseCode() == HttpConnection.HTTP_OK) 
        {
            connection.close();
            return true;
        }
        connection.close();
    } catch( Exception e) {}

    return false;
}
 

Ответ №2:

вы можете использовать метод HttpConnection.requestCode(), чтобы проверить, доступно ли соединение или нет.Если он возвращает 200, означает, что соединение существует.Попробуйте это, я использовал этот код для проверки соединения, я не знаю, есть ли какой-либо другой способ.

       public void run() {
    try{
        HttpConnection conn = (HttpConnection)Connector.open("http://www.goole.com");

        conn.setRequestMethod(HttpConnection.GET);
        int i = conn.getResponseCode();
        if(conn.getResponseCode()==HttpConnection.HTTP_OK)
        {

            System.out.println("----------------------------------------responsecode-------------------->>>>>>: "   conn.getResponseCode());
            _screen.requestSuccess("Connection Available. ResponseCode:"   i);
            conn.close();
        }
        else
        {
            System.out.println("----------------------------------------responsecode-------------------->>>>>>: "   conn.getResponseCode());
            _screen.requestFailed("Connection Not Available.ResponseCode:"   i);
            conn.close();


        }

    }
 

Ответ №3:

Вы можете проверить, используете ли вы что-то вроде этого:

 public static boolean hasSignal() {
    if (RadioInfo.getState() == RadioInfo.STATE_OFF || RadioInfo.getSignalLevel() == RadioInfo.LEVEL_NO_COVERAGE) {
        System.out.println(" -- no signal");
        return false;
    } else {
        return true;
    }
}
 

Если вы используете устройство Wi-Fi, вам нужно проверить Wi-Fi отдельно (я думаю)

 public static boolean hasWifi() {
    if ( ( RadioInfo.getActiveWAFs() amp; RadioInfo.WAF_WLAN ) != 0 ) {
        return (CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_DIRECT, RadioInfo.WAF_WLAN, true));
    } else {
        System.out.println(" -- no wifi");
        return false;
    }
}
 

Я использую их в своем приложении, и они, похоже, работают правильно.