我想在关闭(杀死)我的应用程序时终止我的服务:这是我的服务:
在这项服务中,我有一个asyntask,它会像这样重新开始工作:
TimerTask myTimerTask = new TimerTask() {
@Override
public void run() {
connectTask3 = new connectTask3();
connectTask3.execute();
}
};
Timer timer = new Timer();
timer.schedule(myTimerTask, 2000);
当应用程序关闭时,如何在asyntask停止此服务?
答案 0 :(得分:2)
如果要停止asynctask,可以使用asyncTask.cancel(true/false);
true
指定Android系统即使已经启动也停止此服务,
false
指定android系统如果已经启动则不停止此任务。
@Override
public void onDestroy() {
super.onDestroy();
timer.cancel();
connectTask3.cancel(true);
}
如果您希望在活动失去其互动时停止此服务,请将其写入onPause()
要么
如果你想在活动时取消,请在onDestroy()
有关详细信息,请check AsyncTask
答案 1 :(得分:1)
在清单中添加以下内容
<service android:name="service" android:stopWithTask="true"/>
当app关闭或被杀时,stopwithtask将停止服务
答案 2 :(得分:1)
@Override
public void onDestroy() {
timer.cancel(true); //stops timerTask
connectTask3.cancel(); //stops asynctask
super.onDestroy();
}