我已经用定时器写了一个服务来定期做某事但是当我从mainActivity停止服务服务时如果我的服务处于他们的任务中间它继续完成,之后停止它和同样的问题当我想要关闭在主要活动服务工作上调用OnDestroy的应用程序,并在完成任务后再不开始。 我的问题是,当我想退出我的应用程序时,Force如何停止服务? 这是我的服务代码
public class MyTimerService extends Service{
private static int counter = 0;
private Timer timer = new Timer();
private int INTERVAL;
@Override
public IBinder onBind(Intent i) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
INTERVAL = intent.getIntExtra("time", 500);
repaet();
return START_NOT_STICKY;
}
private void repaet() {
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Log.i("Saeed", String.valueOf(++counter));
}
}, 0, INTERVAL);
}
@Override
public void onDestroy() {
Toast.makeText(this, "Stop Service", Toast.LENGTH_LONG).show();
if(timer!=null){
timer.cancel();
}
stopSelf();
super.onDestroy();
}
}