Подтвердить что ты не робот

Как полностью уничтожить поток Android?

У меня есть служба, у которой есть свой поток, выполняющийся на фоне. Я хотел бы убить эту службу, включая поток.

Я создал поток как этот и запустил его.

 public class DaemonService extends Service {

     private DaemonThread thread;
     class DaemonThread extends Thread {
          public void run()
          {
               runDaemon(mArgv.toArray(), mConfig);
          }
     }

     public void onStart(Intent intent, int startId) {
          thread = new DaemonThread();
          thread.start();
     }
 }

Как убить службу и поток? Мне не нужно беспокоиться о безопасности данных.

4b9b3361

Ответ 1

чтобы убить поток, я думаю, вы можете сделать вот так:

myService.getThread().interrupt();

ПРИМЕЧАНИЕ: метод Thread.stop() устарел

EDIT:: попробуйте

public void stopThread(){
  if(myService.getThread()!=null){
      myService.getThread().interrupt();
      myService.setThread(null);
  }
}

Ответ 2

Метод Thread.stop() устарел, вы можете использовать Thread.currentThread().interrupt(); и установите thread=null.

Ответ 5

@Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        Thread.currentThread().interrupt();
    }