先看下onBackPressed和onKeyDown的區別 在Android上有兩種方法來獲取該按鈕的事件 1.直接獲取按鈕按下事件,此方法相容Android 1.0到Android 2.1 也是常規方法,直接重寫Activity的onKeyDown方法即可,代碼如下: @Override publ
先看下onBackPressed和onKeyDown的區別
在Android上有兩種方法來獲取該按鈕的事件
1.直接獲取按鈕按下事件,此方法相容Android 1.0到Android 2.1 也是常規方法,直接重寫Activity的onKeyDown方法即可,代碼如下:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) { //按下的如果是BACK,同時沒有重覆
Toast.makeText(ml78.this,"返回鍵Back鍵測試",1).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
而對於Android 2.0開始又多出了一種新的方法,對於Activity 可以單獨獲取Back鍵的按下事件,直接重寫onBackPressed方法即可,代碼如下
@Override
public void onBackPressed() {
// 這裡處理邏輯代碼,大家註意:該方法僅適用於2.0或更新版的sdk
return;
}
1 現在實現對根Activity按下2此返回鍵實現退出
private static boolean isSysExit = false; @Override public void onBackPressed() { // TODO Auto-generated method stub if(!isSysExit){ isSysExit = true; DensityUtil.showToast(this, "再按一次退出"); Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { // TODO Auto-generated method stub isSysExit =false; } }, 2000); }else { finish(); } }
2 在根Activity中重寫後退按鈕響應事件,當按後退按鈕的時候把Activity退置到後臺
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub //當按下返回鍵時吧Activity退至到後臺 if(keyCode ==KeyEvent.KEYCODE_BACK){ moveTaskToBack(true); return true; } return super.onKeyDown(keyCode, event); }