Android完全退出多個activity程序

原文地址 http://www.2cto.com/kf/201404/291491.html

我們在項目開發的時候可能會遇到安全退出應用的場景,如何能夠安全退出多個Activity?網上有很多方法,下面這種方法就是我最喜歡的,簡單又易懂。如下:每打開一個Activity,就記錄下來,在需要退出時,關閉每一個Activity即可。使用單例模式創建一個Activity管理對象,該對象中有一個Activity容器。定義一個Application類來存儲Activity對象的引用。代碼如下:

public class ExitAppliation extends Application
{
    private List activityList = new LinkedList();
    private static ExitAppliation instance;
    private ExitAppliation()
    {
    }
    // 單例模式中獲取唯一的MyApplication實例
    public static ExitAppliation getInstance()
    {
        if (null == instance)
        {
            instance = new ExitAppliation();
        }
        return instance;
    }
    //添加Activity到容器中
    public void addActivity(Activity activity)
    {
        activityList.add(activity);
    }
    // 遍歷所有Activity並finish
    public void exit()
    {
        for (Activity activity : activityList)
        {
            activity.finish();
        }
        System.exit(0);
    }
}


注:Application類是爲了那些需要保存全局變量設計的基本類,你可以在AndroidManifest.xml的標籤中進行自己的實現,這樣的結果是:當你的application或者包被建立的時候將引起那個類被建立。就是說application是用來保存全局變量的,並且是在package創建的時候就跟着存在了。所以當我們需要創建全局變量的時候,不需 要再像j2se那樣需要創建public權限的static變量,而直接在application中去實現。只需要調用Context的getApplicationContext或者Activity的getApplication方法來獲得一個application對象,再做出相應 的處理。
然後在每個Activity的onCreate()方法中添加下面代碼:

ExitAppliation.getInstance().addActivity(this);

在需要結束所有Activity的時候調用exit方法:
ExitAppliation.getInstance().exit();

發佈了31 篇原創文章 · 獲贊 5 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章