我的计时器服务有问题。每当我终止活动时,服务都会重新开始倒计时而不是继续倒计时。即使我终止应用程序,我希望它继续倒计时。
public class TimerService extends Service {
CountDownTimer timer;
Handler mHandler = new Handler();
private static final String TAG="com.timer";
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
public void onCreate(){
mHandler.post(new Runnable(){
@Override
public void run() {
timer = new CountDownTimer(20000, 1000) {
@Override
public void onFinish(){
}
@Override
public void onTick(long millisUntilFinished) {
Log.i(TAG,"" + millisUntilFinished/1000);
}
};
timer.start();
}
});
}
public int onStartCommand(Intent intent, int flags, int startId){
return super.onStartCommand(intent, flags, startId);
}
public void onDestroy(){
timer.cancel();
super.onDestroy();
}
}
答案 0 :(得分:0)
如果要终止计时器,则应调用
timer.cancel();
onFinish()中的方法void。 这将终止计时器。