我的问题: 我有一个有很多活动的小应用程序,其中一个有一个倒数计时器,它会下降到零。但是当你在这个活动中并且用户按下概览按钮(右侧安卓按钮)时,他带着所有应用程序进入视图但活动没有停止或暂停,因此倒数计时器也不会停止。在最坏的情况下,用户再次打开活动并且倒计时达到零(这意味着活动,将打开其他活动..)
是否有办法处理"概述按钮"? (就像后退按钮getPressedBack())
我没有得到任何好的谷歌搜索,因为右侧安卓按钮的名称是"概述按钮" (我在谷歌发现了......)。
答案 0 :(得分:1)
按“概述”按钮后应调用OnPause()和onStop()。然后你可以手动停止你的coundown。当用户返回活动onResume()被调用时,你可以再次启动coundown。
@Override
protected void onPause() {
super.onPause();
// Handle countdown stop here
}
@Override
protected void onResume() {
super.onResume();
// Handle countdown start here
}
答案 1 :(得分:0)
我认为正确的策略是通过在Activity上遍历onKeyDown方法来检查按下的键:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
i(e == yourKeyCode) {
stopYourTimer()
return true;
}
return super.onKeyDown(keyCode, event);
}
在你的情况下检查onKeyDown事件的KeyEvent.VK_CONTEXT_MENU并停止你的计时器。