我有一个持续运行的计时器。当我按下 BACK 按钮时,我会出现一个对话框,您可以在其中退出该意图或返回并继续计时器已被 BACK 按钮停止的内容。好吧,如果我单击继续, onResume() 方法会使计时器继续并且工作良好。但是,如果我在屏幕上显示对话框时按下后退按钮,我希望计时器继续运行,就像我在对话框上按下 Continue 一样。但是,相反,我按下后退按钮并没有任何反应,计时器停止了,这对我不利,因为我的一些方法仅在计时器正在运行或被对话框停止时才有效。但是,如果没有对话并且计时器停止,则可能会发生许多潜在的错误。那么当对话框在屏幕上时,如何阻止用户按下后退按钮?我试过这样的事情:
if ((keycode==back) && a=0 ) {... a=1 , onPuase()} // dialog comes in onPause() just happened
else ((keycode==back) && a=1 ) {... a=0, onResume()} //I want onResume() to happen here
但这并不好。该对话框出现在第一个 Back 按钮上,然后在第二个 Back 按钮上消失(这里没有任何反应)。计时器仍然在这里停止,但是第三个后退按钮启动计时器。所以有一个不必要的返回可能会导致麻烦,因为用户不会知道他们必须再次按下它......