黑马程序员技术交流社区
标题:
Android 如何终止服务并同时终止线程呢?
[打印本页]
作者:
王松松
时间:
2014-7-17 23:08
标题:
Android 如何终止服务并同时终止线程呢?
本帖最后由 王松松 于 2014-7-17 23:51 编辑
如题,在android中停止服务后,如何将服务中的线程也干掉{:3_63:}
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方法中加入可能产生中断异常的阻塞方法,如:Thread.sleep()
当需要终止线程时,只需要执行thread.interrupt( ),将可能发生中断异常编程马上发生中断异常,然后在捕获异常catch中退出线程
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
return;//产生中断异常,退出线程
}
int newposition = position+1;
currentPosition = newposition%infos.size();
playMusic(infos,currentPosition);
};
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2