2016-04-28 101 views
0

我的问题: 我有一个小应用程序与许多活动,并在一个倒计时计时器,这是下降到零。但是,当你在这个活动中,并且用户按下总览按钮(右侧的android按钮)时,他与所有应用程序一起来到视图中,但活动并不停止或暂停,所以倒数计时器也不会停止。在最糟糕的情况下,用户再次打开活动,倒计时达到零(这意味着活动,这将打开其他活动..)Android手柄概览按钮(暂停活动)

有没有办法处理“总览按钮”? (像后退按钮getPressedBack())

我没有得到任何好的谷歌搜索,因为正确的android按钮的名称是“概述按钮”(我已经发现与谷歌..)。

回答

1

按下“概览”按钮后,应调用OnPause()和onStop()。然后你可以手动停止你的结果。当用户返回活动onResume()被调用时,您可以再次开始调用。

@Override 
protected void onPause() { 
    super.onPause(); 
    // Handle countdown stop here 
} 

@Override 
protected void onResume() { 
    super.onResume(); 
    // Handle countdown start here 
} 
+0

有没有任何一方或什么,我可以得到更多关于该按钮的信息或因此是其他名称? – Phil

+0

你不需要处理按钮。 onPause()方法会在您的应用程序失去焦点时自动调用。然后,可以停止方法中的调用,并在调用onResume()时再次启动它。你可以在这里找到关于这个方法的更多信息:(http://developer.android.com/training/basics/activity-lifecycle/pausing.html) – TmCrafz

+0

它的工作,唯一的问题是,OnResume()也可以在从活动开始,但这很容易处理。 (用布尔值) – Phil

0

我认为正确的策略是检查按下的键,通过ovveriding的onkeydown方法上的活动:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    i(e == yourKeyCode) { 
     stopYourTimer() 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

你的情况检查KeyEvent.VK_CONTEXT_MENU上onKeyDown事件和停止计时器。