finish ()
finish ()方法在你的activity結束或者應該被關閉時調(diào)用买猖。ActivityResult將通過onActivityResult()方法傳遞給啟動者。這是比較常用的關閉Activity的方法。
注意:通過startActivityForResult方法來啟動Activity,才能將ActivityResult通過onActivityResult()方法傳遞給啟動者岖圈。普通的startActivity方法是不會在 finish ()方法后傳遞ActivityResult的。
finishActivity (int requestCode)
強制關閉另一個你先前通過startActivityForResult(Intent, int)啟動的Activity。該方法不會關閉當前Activity催束,可以關閉通過requestCode關閉,先前通過startActivityForResult傳遞過相同requestCode打開的Activity伏社。
注意:通過這個方法抠刺,我們還可以關閉一起我們可以打開但不能通過代碼操作的頁面,比如其他應用或者系統(tǒng)界面摘昌。
finishActivityFromChild (Activity child, int requestCode)
當一個該Activity的子activity調(diào)用它的finishActivity()方法時調(diào)用速妖。
注意:該方法我只在使用TabActivity時,調(diào)用其子Activity后調(diào)用了finishActivity()方法聪黎,其他調(diào)用情況沒有查出來罕容。(TabActivity在API level 13時廢棄了)
finishAffinity
關閉該Activity和同一棧中的所有位于該Activity下面的Activity。比如說在同一Activity棧中挺举,Activity A啟動了Activity B杀赢,Activity B啟動了Activity C。Activity B調(diào)用finishAffinity()方法湘纵,會關閉 Activity A和 Activity B脂崔,Activity C仍然存在。如果Activity C調(diào)用該方法梧喷,則A砌左,B,C铺敌,都會被關閉汇歹,且如果應用只有這一個棧,那么C調(diào)用該方法會直接退出應用偿凭。
注意:該方法在API level 16之后添加产弹。
finishAfterTransition
翻轉(zhuǎn)Activity進入轉(zhuǎn)場動畫(Transition)用于Activity退出。
注意:該方法 在API level 21之后添加弯囊,使用它時痰哨,你得先定義自己的轉(zhuǎn)場動畫,否則它的作用和finish()方法沒有區(qū)別匾嘱。這里的轉(zhuǎn)場動畫不是指由overridePendingTransition實現(xiàn)的動畫斤斧,而是通過ActivityOptions類實現(xiàn)的轉(zhuǎn)場動畫。
finishAndRemoveTask
關閉Activity且關閉且將自己移除最近任務
注意:該方法在API level 21之后添加霎烙。
finishFromChild
當一個該Activity的子activity調(diào)用它的finish()方法時調(diào)用撬讽。
注意:該方法和finishActivityFromChild 方法一樣蕊连,我只在使用TabActivity時有看到調(diào)用。