У меня есть код для подключения к интернету, он отлично работает в симуляторе
но когда я пробую это на реальном устройстве, я всегда получаю код ответа 400 http
(тело ответа говорит: «Время ожидания соединения истекло»)
Я использую JRE 5
и использование Blackberry 9000 на ОС версии 5 как для реального устройства, так и для симулятора.
Активируется в соответствии с Расширенными настройками> Активация предприятия.
Что-то еще нужно изменить на реальном устройстве, чтобы оно работало?
Я медленно сократил свой код, чтобы добраться до корня проблемы
и я до этого кода:
package mypackage;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import net.rim.device.api.io.transport.TransportInfo;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.container.MainScreen;
public class MyApp extends UiApplication {
public static void main(String[] args) {
MyApp theApp = new MyApp();
theApp.enterEventDispatcher();
}
public MyApp() {
pushScreen(new SimpleScreen());
}
}
class SimpleScreen extends MainScreen {
public SimpleScreen() {
this.setTitle("Hello");
ConnectionThread ct = new ConnectionThread();
ct.start();
}
}
class ConnectionThread extends Thread {
private static String url = "http://www.wikipedia.org/";
public void run() {
System.out.println(" -- ConnectionThread.run()");
System.out.println(" ---- MDS hasSufficientCoverage? " + TransportInfo.hasSufficientCoverage(TransportInfo.TRANSPORT_MDS));
try {
HttpConnection httpConn;
httpConn = (HttpConnection) Connector.open(url);
final int iResponseCode = httpConn.getResponseCode();
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
Dialog.alert("Response code: " + Integer.toString(iResponseCode));
}
});
} catch (Exception e) {
System.err.println("Caught IOException: " + e.getMessage());
}
System.out.println(" -- /ConnectionThread.run()");
}
}
==============================================
// РЕДАКТИРОВАТЬ:
Я почти уверен, что сейчас проблема с настройкой устройства, я просто Network Diagnostic Tool , и он также возвращает 400 HTTP-ответ с сообщением «Тайм-аут соединения».
==============================================
// РЕДАКТИРОВАТЬ # 2:
Я только что попробовал варианты-> мобильная сеть-> диагностический тест
Вот результаты:
ICMP Ping Echo: No
------
Blackberry Registration: Yes
Connected to Blackberry: Yes
Blackberry PIN-PIN: Yes
------
Server Name: <my enterprise server>
Email Address: <my email>
Connected to <my email>: Yes
Тогда я попробовал настройки-> мобильная сеть-> инструменты-> ping
и пингуются гугл и википедия и оба говорят A network error occurred