#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;
}
}
Я использую их в своем приложении, и они, похоже, работают правильно.