我有一种有 2 个 Activity 的游戏:开始 Activity (具有高分、开始按钮和教程按钮)和基于倒计时器的主游戏 Activity ,当时间到了时,游戏返回到开始 Activity 。
问题是当用户开始游戏,然后点击主页按钮并返回主屏幕(只需通过主页按钮离开游戏)一切正常,直到时间到,然后开始 Activity 出现在屏幕上,但消息丢失。
我尝试过各种组合方法,例如 onPause
女巫 finish();
等,但它不起作用或导致应用程序强制关闭。
我无法像我在这种情况下所做的那样处理主页按钮点击。
有什么方法可以在应用程序不在前台时暂停应用程序并暂停所有线程吗?
最佳答案
我建议两种方式
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();
}
关于java - 时间到后弹出带有倒计时器的Activity,如何杀死它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48865593/