我正在使用 Intent.FLAG_ACTIVITY_NEW_TASK 标志从广播接收器启动一个 Activity 。
我的 Activity 在其 onCreate 方法中启动了一个 CountDownTimer。 按一个键会终止我的应用程序(我正在调用 finish()),但我的应用程序会出现在任务管理器中。
如果我打开任务管理器并单击我的应用程序,将再次调用 onCreate 方法并调用我的计时器的另一个实例。
如何防止这种行为?
谢谢, 视频
最佳答案
您的应用程序中可能有类似于以下代码的内容来启动倒数计时器。
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
你可以围绕它包装一个 if 语句来查看倒计时是否已经开始,如果它已经将 bool 值设置为 true,如果没有将它设置为 false(因为计时器已经停止)。
if(countDownStarted == false)
{
new CountDownTimer(30000, 1000)
{
public void onTick(long millisUntilFinished)
{
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
countDownStarted = true;
}
public void onFinish()
{
mTextField.setText("done!");
countDownStarted = false;
}
}.start();
}
关于android - 当有人从任务管理器按下我的应用程序时如何禁用对 onCreate 的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18686412/