Android完全退出多個activity程序

我們在項目開發的時候可能會遇到安全退出應用的場景,如何能夠安全退出多個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();

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *