1

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

提前谢谢了!

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

4

2 回答 2

1

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

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

通过扩展这个 SEActivity,Back 按钮可以实现预期的行为。不管怎么说,还是要谢谢你 :)

于 2012-10-23T11:19:53.650 回答
1

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

是的,您可以简单地记录按下按钮的时间,并通过计算 (currentTime-lastTimePressed) 在 onBackPressed 中做出不同的反应

为了允许它与以前的活动一起工作,您可以要求活动启动ActivityForResult,这样当您完成活动时,您也可以传递时间,让他们知道他们是否也应该退出。

于 2012-10-15T18:06:24.987 回答