Java的机器人杀死服务时,应用程序被杀害或接近
问题描述:
我想杀死我的服务当我关闭(杀死)我的应用程序:这是我的服务:Java的机器人杀死服务时,应用程序被杀害或接近
在这项服务,我有一个asyntask,这将启动再次像这样工作:
TimerTask myTimerTask = new TimerTask() {
@Override
public void run() {
connectTask3 = new connectTask3();
connectTask3.execute();
}
};
Timer timer = new Timer();
timer.schedule(myTimerTask, 2000);
如何在应用程序关闭时在asyntask停止此服务?
答
如果你想停止的AsyncTask可以使用asyncTask.cancel(true/false);
true
指定Android系统,甚至停止此服务就已经开始,
false
指定android系统不停止这项任务,如果有已经开始。
@Override
public void onDestroy() {
super.onDestroy();
timer.cancel();
connectTask3.cancel(true);
}
如果你想在活动失去其交互它写在
onPause()
或 如果你想在活动时间取消摧毁叫它
onDestroy()
更多停止此服务
答
添加在您的清单
以下<service android:name="service" android:stopWithTask="true"/>
stopwithtask当应用程序被关闭或被杀害
答
@Override
public void onDestroy() {
timer.cancel(true); //stops timerTask
connectTask3.cancel(); //stops asynctask
super.onDestroy();
}
虽然OP已经在这个问题写服务,但他未使用的服务,但的AsyncTask实际的问题是不相关的服务,但计时器任务 –
将停止服务和计时器任务。 –
检查我的更新回答@ VivekMishra –