標籤:
Android應用可以包含多個Activity,某個Activity可以啟動另外的Activity。
這些Activity採用棧結構來管理,新開啟的Activity疊放在當前的Activity之上,當前的Activity停止運行。
當一個Activity停止運行時,Android系統保留其停止前的狀態,當使用者按下“Back”按鍵時,棧最上的Activity從棧頂退棧,之前的Activity移到棧頂,顯示在螢幕上:
有些時候,當一個Activity啟動新的Activity後,不希望把當前Activity保留在Activity棧中,比如在使用Activity實 現一個Confirm Dialog時,當使用者確認後啟動新的Activity,在新Activity顯示時按“Back”後退時不希望在顯示Confirm Dialog。
樣本Fowarding 使用Finish()在啟動新Activity同時結束當前Activity。
// Here we start the next activity, and then call finish() // so that our own will stop running and be removed from the // history stack. Intent intent = new Intent(); intent.setClass(Forwarding.this, ForwardTarget.class); startActivity(intent); finish();
Finish結束Forwarding Activity,之後按“Back”,則直接退到ApiDemo->Activity 樣本列表,而不是Forwarding介面。
【起航計劃 007】2015 起航計劃 Android APIDemo的魔鬼步伐 06 App->Activity->Forwarding Activity啟動另外一個Activity finish()方法