如何彻底杀死Android线程?

cod*_*ons 31 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();
     }
 }
Run Code Online (Sandbox Code Playgroud)

我如何杀死服务和线程?我不必担心数据安全..

Hou*_*ine 38

杀死线程,我想你可以这样做:

myService.getThread().interrupt();
Run Code Online (Sandbox Code Playgroud)

注意: 该方法Thread.stop()已弃用

编辑 ::试试这个

public void stopThread(){
  if(myService.getThread()!=null){
      myService.getThread().interrupt();
      myService.setThread(null);
  }
}
Run Code Online (Sandbox Code Playgroud)

  • @Houcine我可以问你,这是我的服务吗? (2认同)

Atu*_*waj 5

Thread.stop()不推荐使用该方法,您可以使用 Thread.currentThread().interrupt();和设置thread=null.