項目中的Activity統一管理 方便徹底退出程序

      android 退出應用程序會調用android.os.Process.killProcess(android.os.Process.myPid())
或是System.exit(0),這只是針對第一個Activity(也就是入口的Activity)時生效。若是有A,B,C
三個Activity,而想在B 或C 中Activity 退出,調用上面的方法,每每會銷燬當前的Activity 返回上
一個Activity。固然也能夠逐個返回上一個Activity,直到跳轉到入口的Activity,最後退出應用程
序。但這樣比較麻煩,並且逐個返回的體驗並不友好。 java

    使用棧統一管理項目中的Activity。創建一個單例模式進行管理。代碼以下: android

import java.util.LinkedList;
import java.util.List; app

import android.app.Activity;
import android.app.Application; get

public class ExitApplication extends Application { it


 private List<Activity> activityList=new LinkedList<Activity>(); io

 private static ExitApplication instance; class

 private ExitApplication()
 {
 }
 //單例模式中獲取惟一的ExitApplication 實例
 public static ExitApplication getInstance()
 {
 if(null == instance)
 {
 instance = new ExitApplication();
 }
 return instance; import

 }
 //添加Activity 到容器中
 public void addActivity(Activity activity)
 {
 activityList.add(activity);
 }
 //遍歷全部Activity 並finish 容器

 public void exit()
 { List

 for(Activity activity:activityList)
 {
 activity.finish();
 }

 System.exit(0);

 }  }

相關文章
相關標籤/搜索