Android Back Button响应太快

时间:2012-10-15 17:59:38

标签: java android

我正在开发一个Android应用程序,当我从我的设备按下后退按钮时(一个人的正常按下时间,1秒或更短),它会从我的活动跳到上一个活动(菜单)然后退出应用程序。 但如果我快速点击后退按钮,它会按预期做出反应,然后进入菜单。 我试图找到一个解决方案,但没有成功。 我总是试图覆盖后退按钮的默认行为,但也没有成功。 有没有办法设置后退按钮的反应时间?

非常感谢提前!

P.S.-我还有其他活动可以在按下正常按下时间时保持后退按钮的预期行为。

2 个答案:

答案 0 :(得分:1)

“有没有办法设置后退按钮的反应时间?”

是的,您只需记录按下按钮的时间,并通过计算(currentTime-lastTimePressed)

在onBackPressed中做出不同的反应

要允许此操作与之前的活动一起使用,您可以向活动提出startActivityForResult,这样当您完成活动时,您也可以传递时间,让他们知道是否应该退出。

答案 1 :(得分:1)

我正在为已经存在的应用程序开发一个额外的选项,我发现我应该从Android的Activity扩展而不是,但是已经扩展的Activity称为SEActivity。所以在这个扩展版本的Activity中,它们会覆盖onKeyDown方法,如下所示:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        return true;
    }
    else
        return super.onKeyDown(keyCode, event);
}

通过扩展此SEActivity,“后退”按钮可以处理预期的行为。 无论如何,谢谢:)