拦截后退button

我正在编写一个应用程序,它将有两个活动,当用户在第二个活动上按下后退button时,会popup一个对话框,要求用户确认该操作。 那我怎么拦截这个? 我严重怀疑这个因为后台是操作系统本身的一部分。 有没有人find解决方法?

Solutions Collecting From Web of "拦截后退button"

在一个活动中,你可以重写

onBackPressed()

编辑:这是api lvl 5+:/为4和以下你必须重写onKeyDown()

只需重写活动中的onKeyDown方法并查找后退button即可。 返回true,以便事件被消耗。

public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { //Do something here return true; } return super.onKeyDown(keyCode, event); } 

正如schwiz所指出的那样,您将要在活动类中覆盖onBackPressed()方法( http://developer.android.com/reference/android/app/Activity.html#onBackPressed() )。

我只是想补充一点,如果你想在某个阶段继续或者访问标准的后台操作(在显示对话框之后),那么你只需要调用super.onBackPressed()或者ActivityName.super.onBackPressed()活动中的任何地方。