J'ai une classe de threads HttpConnection. quand j'arrête httpConnection, je montre ce message. comment devrait-je arrêter httpConnection ??Exception non interceptée: l'opération de blocage n'est pas autorisée sur le fil d'expédition d'événement sur BlackBerry
Console de sortie Blackberry:
RuntimeException
blocking operation not permitted on event dispatch thread
net_rim_cldc-10
EventThreadCheck
throwException
0x3434
net_rim_cldc_io_tcp
Protocol
<private>
0x18B8
net_rim_cldc_io_tcp
Protocol
outputStreamClosed
0xB2D
net_rim_cldc_io_tcp
TcpOutputStream
close
0x40BF
net_rim_os-2
ClientProtocol
close
0x154E
CepVizyon-2
Http
cancel
0x174F
CepVizyon-2
Camera
cancel
0x6E7
CepVizyon
ViewCam
close
0xE79
net_rim_cldc-7
Screen
onClose
0x5DAC
net_rim_cldc-7
Screen
keyCharUnhandled
0x5C58
net_rim_cldc-9
MainScreen
keyCharUnhandled
0x23D7
net_rim_cldc-7
Screen
dispatchKeyEvent
0x51DB
net_rim_cldc-7
Screen
processKeyEvent
0x718D
net_rim_cldc-7
UiEngineImpl
processMessage
0x9E3C
net_rim_cldc-4
Application
processNextMessage
0x1073
net_rim_cldc-4
Application
enterEventDispatcher
0x775
CepVizyon-2
CepVizyonMain
main
0x1175
parties de ma classe de connexion:
public abstract class Http extends Thread{
protected HttpConnection httpConnection;
HttpConnectionFactory factory;
protected static Base64 base64;
private boolean cancel = false;
/** bağlantının yapılcağı adres */
protected String url = "";
/** paremetre olarak gönderilecek data */
protected String queryString = "";
...
public void cancel() {
try {
if (httpConnection != null)
httpConnection.close();
if(factory!=null)
factory.cancel();
} catch (IOException ex) {
}
cancel = true;
}
partie de ma classe d'écran:
public void close() {
super.close();
StaticVar.ActiveCam.cancel();
// CameraListScreen screen = new CameraListScreen();
// UiApplication.getUiApplication().pushScreen(screen);
//
}
et une partie de la classe de l'appareil photo/* ActiveCam de ce annuler est ici /:
// finishes connection.
public void cancel() {
setConnected(false);
if (mjpeghttp != null) {
mjpeghttp.cancel();
//mjpeghttp.interrupt();
//mjpeghttp = null;
}
}
// votre code ici - est le code, qui montre le message – oxigen
je ne peux pas comprendre ?? où devrais-je ces codes ?? – atasoyh
Vous avez un code, qui fait quelque chose avec l'interface utilisateur. Ce code doit être synchronisé {} ou invokeLater {} Votre problème n'est pas dans httpConnection. Le problème est dans le travail avec l'affichage – oxigen