在android平台上捕獲Back鍵事件,主要用來處理返回的相關邏輯,下列幾種方法都可以捕獲,如下所示:
1、獲取按鈕按下事件,兼容android 1.0到android 2.1,重寫onKeyDown()即可

1 @Override 2 public boolean onKeyDown(int keyCode, KeyEvent event) 3 { 4 if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) 5 { 6 // your code 7 return true;// true 事件不繼續傳遞, false 事件繼續傳遞 8 } 9 else 10 { 11 return super.onKeyDown(keyCode, event); 12 } 13 }
2、android 2.0后,捕獲Back鍵的按下事件,重寫onBackPressed()即可

1 @Override 2 public void onBackPressed() 3 { 4 // your code 5 return; 6 }
3、在dispatchKeyEvent()中捕獲處理

1 @Override 2 public boolean dispatchKeyEvent(KeyEvent event) 3 { 4 if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_BACK) 5 { 6 // your code 7 return true; 8 } 9 else 10 { 11 return super.dispatchKeyEvent(event); 12 } 13 }