Android 当我在应用程序的任何阶段最小化并重新打开应用程序时,它会从头开始
通常,如果我们最小化活动中的某个应用程序,那么它将处于暂停状态,因此当我们返回到该应用程序时,它应该从我们之前离开的相同活动开始,这样活动将重新开始 但我的应用程序(基本上是一个简单的益智游戏)不是这样的。如果我在游戏的任何阶段最小化,然后如果我回到游戏中,它会从我的游戏首页开始一个全新的游戏。最奇怪的是,如果当时我按下后退按钮,它会把之前最小化的活动带到前面。我调试了我的代码,发现我的游戏中有一个倒计时,这导致了这个问题。如果我取消倒计时,它工作得很好,这意味着它从我离开的同一活动开始,如果游戏最小化,就永远不会开始新游戏 在我的游戏中,我有两个活动,第一个活动只有一个“开始”按钮,第二个活动有倒计时。因此,如果我在第二个活动中最小化并重新打开应用程序,则在按下“上一步”时将启动全新的应用程序,同时调出先前打开的已最小化的应用程序。第二个活动代码为:Android 当我在应用程序的任何阶段最小化并重新打开应用程序时,它会从头开始,android,android-activity,android-context,Android,Android Activity,Android Context,通常,如果我们最小化活动中的某个应用程序,那么它将处于暂停状态,因此当我们返回到该应用程序时,它应该从我们之前离开的相同活动开始,这样活动将重新开始 但我的应用程序(基本上是一个简单的益智游戏)不是这样的。如果我在游戏的任何阶段最小化,然后如果我回到游戏中,它会从我的游戏首页开始一个全新的游戏。最奇怪的是,如果当时我按下后退按钮,它会把之前最小化的活动带到前面。我调试了我的代码,发现我的游戏中有一个倒计时,这导致了这个问题。如果我取消倒计时,它工作得很好,这意味着它从我离开的同一活动开始,如果游
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();
}
}
我不明白为什么倒计时强制打开一个新的游戏,如果游戏被用户最小化。谁能给我一些方向的替代方法做倒计时或有一个解决这个问题的办法。提前谢谢 您确定没有设置任何标记,如“无历史记录”或在开始第二个活动时完成第一个活动?是的,我确定。我称之为startActivity(意向)@达潘