Android經典完美退出方法,使用單例模式創建一個Activity管理對象,該對象中有一個Activity容器(具體實現自己處理,使用LinkedList等)專門負責存儲新開啟的每一個Activity,並且容易理解、易於操作,非常不錯!
AppUtils類(儲存每一個Activity,並實現關閉所有Activity的操作)
[java]
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.cpic.jscx.android.utils;
import android.app.Activity;
import android.app.Application;
import java.util.LinkedList;
import java.util.List;
/**
*
* @author user
*/
public class AppUtils extends Application{
private List<Activity> activityList = new LinkedList<Activity>();
private static AppUtils instance;
private AppUtils()
{
}
//單例模式中獲取唯一的app實例
public static AppUtils getInstance()
{
if(null == instance)
{
instance = new AppUtils();
}
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);
}
}
在每一個Activity中的onCreate方法裡添加該Activity到AppUtils對象實例容器中
AppUtils.getInstance().addActivity(this);
[java]
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
AppUtils.getInstance().addActivity(this);
setContentView(R.layout.main);
findViews();
}
在需要結束所有Activity的時候調用exit方法
AppUtils.getInstance().exit();