我正在开发一个Android应用程序,当我按下设备上的后退按钮(正常按下一个人的时间为1秒或更短时间)时,它会从我的活动跳到上一个活动(菜单),然后退出应用程序。 但是,如果我快速点击后退按钮,它会按预期做出反应,它会进入菜单。 我试图找到一个解决方案,但没有成功。 我一直试图覆盖后退按钮的默认行为,但没有成功。 有没有办法为后退按钮设置反应时间作出反应?Android后退按钮反应太快
非常感谢提前!
P.S.-我有其他的活动,当按下正常的按下时间时,在后退按钮中保持预期的行为。
我正在开发一个Android应用程序,当我按下设备上的后退按钮(正常按下一个人的时间为1秒或更短时间)时,它会从我的活动跳到上一个活动(菜单),然后退出应用程序。 但是,如果我快速点击后退按钮,它会按预期做出反应,它会进入菜单。 我试图找到一个解决方案,但没有成功。 我一直试图覆盖后退按钮的默认行为,但没有成功。 有没有办法为后退按钮设置反应时间作出反应?Android后退按钮反应太快
非常感谢提前!
P.S.-我有其他的活动,当按下正常的按下时间时,在后退按钮中保持预期的行为。
我为一个已经存在的应用程序开发了一个额外的选项,我发现我应该从Android的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,后退按钮的工作原理与预期的行为。 无论如何感谢:)
“有没有办法为后退按钮设置反应时间?”
是的,你可以简单地记录时间当按下按钮,并在通过计算(currentTime的-lastTimePressed)
为了让这与以前的活动工作onBackPressed有不同的反应,你可以问问活动startActivityForResult,所以当你完成你的活动时,你可以传递时间,让他们知道他们是否应该退出。
为什么有人会推迟从按下后退按钮到实际发生动作的响应时间?代码可能有问题,所以鼓励糟糕的代码和糟糕的设计并不好。 – Heskja
这不是最好的模式。但我可以查看哪些人想知道两个按钮之间的时间被按下的情况。另外,我的理解是,他希望基于按钮按下的时间作出不同的反应,而不是延迟响应时间。 – Edison
@Edison我实际上想延迟响应时间,因为我当前活动的后退按钮似乎不仅影响了我的活动,还影响了前一个活动(本例中的菜单)。 层次结构是** App> Menu> MyScreen **。当我点击**自选画面**时,它应该只返回一级,直到**菜单**,但它实际上进入**应用**并关闭它,就像我按下**菜单**一样,我没有。 –
请问您在哪里处理背压吗? – Heskja
就是这样,我不处理后退按键,因为后退按钮具有我想要的默认行为。 –
你能告诉我们你开始活动的代码部分吗?您是否在其他设备上测试过这种行为? – Heskja