Как полностью уничтожить поток 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(); } } 

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

Solutions Collecting From Web of "Как полностью уничтожить поток Android?"

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

 myService.getThread().interrupt(); 

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

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

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

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

Используйте Context.stopService() или stopSelf() службы.

Сделайте это в методе onDestroy сервиса

http://developer.android.com/reference/android/app/Service.html#onDestroy ()

  public void onDestroy(){ thread.stop(); super.onDestroy(); } 

Затем остановите службу с помощью stopService (); (Это вызовет onDestroy ());

http://developer.android.com/reference/android/content/Context.html#stopService(android.content.Intent)

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