I have a service that has its own thread running on background. I\'d like to kill that service including the thread.
I created the thread like this and run it.
use Context.stopService() or stopSelf()
method of the Service.
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Thread.currentThread().interrupt();
}
to kill the thread , i think you can do like this :
myService.getThread().interrupt();
NOTE : the method Thread.stop()
is deprecated
EDIT : : try this
public void stopThread(){
if(myService.getThread()!=null){
myService.getThread().interrupt();
myService.setThread(null);
}
}
Do it in the service's onDestroy method
http://developer.android.com/reference/android/app/Service.html#onDestroy()
public void onDestroy(){
thread.stop();
super.onDestroy();
}
Then stop the service with stopService(); (this will invoke onDestroy());
http://developer.android.com/reference/android/content/Context.html#stopService(android.content.Intent)
The method Thread.stop()
is deprecated, you can use
Thread.currentThread().interrupt();
and then set thread=null
.