天天看點

Android Back鍵和Home鍵的差別

back鍵

Android的程式無需刻意的去退出,當你一按下手機的back鍵的時候,系統會預設調用程式棧中最上層Activity的Destroy()方法來,銷毀目前Activity。當此Activity又被其它Activity啟動起來的時候,會重新調用OnCreate()方法進行建立,當棧中所有Activity都彈出結束後,應用也就随之結束了.如果說程式中存在service之類的,則可以在恰當的位置監聽處理下也就可以了.

 home鍵

Android程式的隐藏,當你按下手機的Home鍵的時候,系統會預設調用程式棧中最上層Activity的stop()方法,然後整個應用程式都會被隐藏起來,當你再次點選手機桌面上應用程式圖示時,系統會調用最上層Activity的OnResume()方法,此時不會重新打開程式,而是直接進入,會直接顯示程式棧中最上層的Activity.

back鍵預設把目前Activity給finish,home鍵隻是把Activity給onStop.

back鍵仿home鍵功能:

@Override
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);  
}      

轉載于:https://www.cnblogs.com/butterfly-clover/p/4428139.html