0

こんにちは、ルーパーを使用するスレッドがあります。ルーパーで message を受信すると、ブロッキング メソッド (スタイル リード ソケット) を呼び出します。このスレッドを停止して彼を終了させるメソッド StopThread をどのように記述できますか? Handler で quit を呼び出すか、スレッドに割り込みますか? これはコードです:

    class LooperThread extends Thread {
          public Handler mHandler;

          public void run() {
              Looper.prepare();

              mHandler = new Handler() {
                  public void handleMessage(Message msg) {
                  try{
                 blocking call read
                  }catch(Interrupet Exception e) {  }
                  }
              };

              Looper.loop();
          }
public void stopThread(){    ??? }
      }
4

1 に答える 1

1

電話

thread.interrupt() 

スレッドを中断します。編集:スレッドにランナブルを投稿する必要があります。

looperthread.handler.postrunnable(new Runnable(){

run(){
  Looper.myLooper().quit();
}
});
于 2012-09-07T10:06:46.050 に答える