我有两种活动的游戏:开始活动(高分,开始按钮和教程按钮)和主要游戏活动,这是基于倒数计时器,当时间到了,游戏返回到开始活动。 / p>
问题是当用户开始游戏然后点击主页按钮然后返回主屏幕(只是按主页按钮离开游戏)一切正常,直到时间到了,然后屏幕上显示开始活动,丢失消息。
我已尝试过各种组合方法,例如内部onPause
女巫finish();
等,但它不起作用或导致app力量关闭。
我无法处理onBackPressed()
中的主页按钮点击,就像我在那种情况下所做的那样。
有没有办法暂停应用并暂停所有线程而不在前台?
答案 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();
}