活动销毁后服务不会停止

时间:2014-05-22 07:44:40

标签: android service

我已经用定时器写了一个服务来定期做某事但是当我从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();
}

    }

1 个答案:

答案 0 :(得分:1)

您是否尝试使用此stopService()在onDestroy()内手动停止服务?