實現方法是在application中定義一個集合儲存所有的Activity對象,在Activity建立時添加進集合中,在程式退出時,finish掉所有的Activity即可。
步驟如下:
1.自訂Application,MyApplication.java代碼如下:
1 public class MyApplication extends Application{ 2 private static ArrayList<Activity> activityList; 3 private static MyApplication sInstance; 4 @Override 5 public void onCreate() { 6 super.onCreate(); 7 activityList=new ArrayList<Activity>(); 8 sInstance=this; 9 }10 public static MyApplication getInstance(){11 return sInstance;12 }13 public void addActivity(Activity activity) {14 activityList.add(activity);15 }16 public void exit(){17 for (Activity activity : activityList) {18 activity.finish();19 }20 System.exit(0);21 }22 }
2.定義Activity基類BaseActivity,所有的Activity繼承BaseActivity,Activity建立時添加Activity對象到Application中的集合中,BaseAcivity.java代碼如下:
1 public class BaseActivity extends Activity{2 @Override3 protected void onCreate(Bundle savedInstanceState) {4 super.onCreate(savedInstanceState);5 MyApplication.getInstance().addActivity(this);6 }7 }
3.在程式退出是調用MyApplication中exit()方法即可完全退出,代碼如下:
MyApplication.getInstance().exit();