1. Home 和Back 鍵下Activity 生命周期是不一樣的
按下Home 鍵,Activity 執行個體沒有被Destroy. 而 Back 鍵,Activity 會被Destroy.
具體詳細介紹可以參考 http://blog.csdn.net/lixiang0522/article/details/7557558
2. 重寫Back 鍵方法,使Activity 行為與Home 鍵相同
按下Back 鍵,Activity 不被Destroy,等App下次進入時, 有更順暢的UI體驗。 可以重寫Activity onBackPressed() 方法
有兩種方法:
1. 使用MoveTaskToBack(true)
// 2.0 and above
@Override
public void onBackPressed() {
moveTaskToBack(true);
}
// Before 2.0
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
2. 使用Intent
public void onBackPressed() {
//實作Home鍵效果
//super.onBackPressed();這句話一定要注掉,不然又去調用預設的back處理方式了
Intent i= new Intent(Intent.ACTION_MAIN);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
}
具體方法可以參考:
http://blog.csdn.net/kitty_landon/article/details/45718329
http://stackoverflow.com/questions/2000102/override-back-button-to-act-like-home-button