android - 当有人从任务管理器按下我的应用程序时如何禁用对 onCreate 的调用

标签 android android-activity lifecycle android-broadcast taskmanager

我正在使用 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/

相关文章:

java - 抛出 OutOfMemoryError 异常

android - Activity 和 Service 的生命周期

PHP变量生命周期/作用域

android - 如何在 Android 应用程序中将图标放在 menu_item 上?

java - 如何使用 android 使用 ip camera 拍照

android - 从 fragment 开始 Activity

android - 使用 Robotium 进行跨 Activity 测试

java - startActivity() 之前的操作

android - 尽管有 configChanges 设置,onDestroy 在轮换时被调用

安卓生命周期 : Fill in data in activity in onStart() or onResume()?