我正在尝试制作简单的数学游戏。游戏的目标是在一定的时间限制内回答如此多的问题。
我有一个计时器倒计时并调用我的最终屏幕设置你的高分。问题是,在测试应用程序时,如果在计时器完成之前按下后退按钮,它似乎会在后台继续,我的highScore屏幕会随机出现。我怎么能停下来?
以下是我的计时器的代码:
/**
* timer method
*/
public void timer() {
new CountDownTimer(10000, 1000) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
Intent i = new Intent(MainActivity.this, HighScoreScreen.class);
i.putExtra("Score", score);
startActivity(i);
resetScore();
finish();
}
}.start();
}
答案 0 :(得分:0)
这个非常特殊的问题的一个解决方案是覆盖onBackPressed
并在那里取消你的计时器。另一方面,如果您想在有任何中断时取消计时器(例如,用户在使用您的应用程序时接听电话),您可以将取消呼叫置于onStop
等生命周期方法中。