我有一个活动,我想跟踪两个动作之间经过的时间(例如 startAction 和 endAction)。我使用以下代码实现了一个计时器,在用户按下 startAction 按钮后每 500 毫秒递增一次:
TextView dayTimer = (TextView)findViewById(R.id.tvDayTimer);
long startTime;
class DayTimer extends TimerTask {
@Override
public void run() {
BBCAndroid.this.runOnUiThread(new Runnable() {
public void run() {
long millis = SystemClock.elapsedRealtime() - startTime;
int seconds = (int) (millis / 1000);
int minutes = seconds / 60;
seconds = seconds % 60;
dayTimer.setText(String.format("%d:%02d", minutes, seconds));
}
});
}
};
startDayButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
startTime = SystemClock.elapsedRealtime();
timer.schedule(new DayTimer(), 0,500);
LoginResult.DayState = 1;
startDayButton.setEnabled(false);
endDayButton.setEnabled(true);
}
});
现在我的问题是,如果我退出应用程序,计时器会停止。即使用户退出应用程序,我怎样才能让它运行?总而言之,即使应用程序关闭,我也需要一个计时器。