很多網友不明白如何在Android平台上捕獲Back鍵的事件,Back鍵是手機上的後退鍵,一般的軟件不捕獲相關信息可能導致你的程序被切換到後台,而回到桌面的尴尬情況,在Android上有兩種方法來獲取該按鈕的事件。
1.直接獲取按鈕按下事件,此方法兼容Android 1.0到Android 2.1 也是常規方法,直接重寫Activity的onKeyDown方法即可,代碼如下:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { //按下的如果是BACK,同時沒有重復
Toast.makeText(android123.this,"Android開發網Back鍵測試",1).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
而對於Android 2.0開始又多出了一種新的方法,對於Activity 可以單獨獲取Back鍵的按下事件,直接重寫onBackPressed方法即可,代碼如下
@Override
public void onBackPressed() {
// 這裡處理邏輯代碼,cwj提示大家注意該方法僅適用於2.0或更新版的sdk
return;
}
=======================
back鍵在程序的生命周期有很大作用,譬如某個activity你只想讓他出現一次,在周期中點擊了back,就讓他被銷毀掉··
android 的 back鍵 返回上一級Activity,當然最終會返回到我們的程序的上一級=>主界面,對於很多程序來說不太友好,那麼就讓我們的程序友好一下吧!
在我們程序的主Activity中 重寫一下 onKeyDown事件: