退出APP时清空栈里所有activity
一、Intent方式
辅助activity,退出时指明跳转到改Activity,启动后立即结束
/**
- 退出app时清空栈里的所有activity,辅助activity
- Created by Administrator on 2016/9/10.
*/
public class AssistActivity extends Activity {
@Override
protected void onCreate (Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
finish();
}
}
Intent intent = new Intent(context, AssistActivity.class )
intent.addFlags (Intent.FLAG _ACTIVITY_CLEAR_TASK | Intent.FLAG _ACTIVITY_NEW_TASK)
context.startActivity (intent)
二、用一个类来缓存已存在的activity,用list集合来保存还在运行的activity
/**
* 核心工具类
* Created by sks on 2016/4/9.
*/
public class CoreUtils {
public static ArrayList<Activity> activityList = new ArrayList<Activity>();
/**
* 添加Activity到列表中
* @param activity
*/
public static void addAppActivity (Activity activity){
if (!activityList.contains(activity)){
activityList.add(activity);
}
}
/**
* 从列表移除Activity
* @param activity
*/
public static void removeAppActivity (Activity activity){
if (activityList.contains(activity)){
activityList.remove(activity);
}
}
/**
* 退出应用程序
*/
public static void exitApp (Context context){
L.d("销毁Activity size:" + activityList.size());
for (Activity ac : activityList) {
if (!ac.isFinishing()){
ac.finish();
}
}
activityList.clear();
android.os.Process.killProcess(android.os.Process.myPid());
}
/**
* 清空List集合
* @param list
*/
public static void clearList (List<?> list){
if (list!=null ){
list.clear();
}
}
}