Android 退出Activity的方法

對於單一Activity的應用來講,退出很簡單,直接finish()便可。固然,也能夠用killProcess()和System.exit()這樣的方法。現提供幾個方法,供參考: 

web

一、拋異常強制退出:
該方法經過拋異常,使程序Force Close。
驗證能夠,可是,須要解決的問題是,如何使程序結束掉,而不彈出Force Close的窗口。 

二、記錄打開的Activity:
每打開一個Activity,就記錄下來。在須要退出時,關閉每個Activity便可。 

三、發送特定廣播:
在須要結束應用時,發送一個特定的廣播,每一個Activity收到廣播後,關閉便可。

四、遞歸退出
在打開新的Activity時使用startActivityForResult,而後本身加標誌,在onActivityResult中處理,遞歸關閉。
除了第一個,都是想辦法把每個Activity都結束掉,間接達到目的。可是這樣作一樣不完美。
你會發現,若是本身的應用程序對每個Activity都設置了nosensor,在兩個Activity結束的間隙,sensor可能有效了。
但至少,咱們的目的達到了,並且沒有影響用戶使用。
 
例如:

 一、建立一個Activity的基類,重寫startActivity()方法,在裏面添加一句finish()。其餘的Activity繼承這個基類,這樣在啓動一個新的Acitivty以前就能夠退出前一個Acitivity。固然這樣有一個壞處是當返回時不能返回到前一個Activity,因此咱們須要對finish()的Activity進行管理,不須要返回用到的就finnish(),須要的就不finish()。spa

      二、建立一個Activity的基類,其餘的Acticity都繼承這個基類。退出使用廣播,在須要退出的地方發送一個廣播。在基類中接收這個廣播。而後finish(),這樣就能夠了。不用每一個Activity都去寫代碼。這樣作有好多好處,基類+廣播能夠作其餘不少事情。orm

相關文章
相關標籤/搜索