具有countDown计时器的活动在时间到了之后弹出,如何杀死它?

时间:2018-02-19 11:50:51

标签: java android android-activity

我有两种活动的游戏:开始活动(高分,开始按钮和教程按钮)和主要游戏活动,这是基于倒数计时器,当时间到了,游戏返回到开始活动。 / p>

问题是当用户开始游戏然后点击主页按钮然后返回主屏幕(只是按主页按钮离开游戏)一切正常,直到时间到了,然后屏幕上显示开始活动,丢失消息。

我已尝试过各种组合方法,例如内部onPause女巫finish();等,但它不起作用或导致app力量关闭。

我无法处理onBackPressed()中的主页按钮点击,就像我在那种情况下所做的那样。

有没有办法暂停应用并暂停所有线程而不在前台?

1 个答案:

答案 0 :(得分:1)

我建议双向

<强> 1

创建像

这样的全局变量
private isInForgrand = false;

在onStop()或onPause()和onResume()中更改

@Override
public void onStop() {
    isInForgrand = false;
    super.onStop();
}
@Override
public void onResume() {
    super.onResume();
    isInForgrand = true;
}

在onFinish()中检查

@Override
        public void onFinish() {
            if(isInForgrand){
               //do what you want  
             }else{
               //your app NOT in Forgrannd
        }

<强> 2

您可以在onStop()

中取消CountDownTimer
@Override
public void onStop() { 
    super.onStop();
    mCountDownTimer.cancel();
}