通常情况下,如果我们最小化某个活动中的应用,那么它将处于暂停状态,因此当我们回到应用时,它应该从我们之前离开的相同活动开始,以便该活动将在onResume。
但我的应用程序(它基本上是一个简单的益智游戏)并不像这样。如果我在游戏的任何阶段最小化,之后如果我回到游戏,它将从我的游戏首页开始一个新的游戏。最奇怪的是,如果我按下按钮那时它会将之前最小化的活动带到前面。我调试我的代码,发现我的游戏上有一个倒计时器,这导致了这个问题。如果我删除倒计时它完美地工作意味着它从我离开的相同活动开始,如果游戏最小化,永远不会开始新游戏。
在我的游戏中我有两个活动,在第一个活动中只有一个“START”按钮,第二个活动有倒数计时器。因此,如果我在第二个活动中最小化并重新打开应用程序,那么全新的应用程序将启动,同时按下提取最小化的prevoiusly打开的应用程序。第二个活动代码是:
public class GameCore extends ActionBarActivity {
// COUNTDOWN VARIABLE
CountDownTimer countdown_timer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
if (countdown_timer != null)
countdown_timer.cancel();
start_countDown(120000);
}
private void start_countDown(long millisInFuture) {
// TODO Auto-generated method stub
countdown_timer = new CountDownTimer(millisInFuture, 1000) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
}
}.start();
}
}
我不明白为什么如果游戏被用户最小化,倒数计时器强制打开新游戏。任何人都可以给我一些替代方法的方向来倒计时或有一个解决方案。提前致谢。