退出APP时清空栈里所有activity

来源:互联网 发布:苹果手机隐藏软件 编辑:程序博客网 时间:2024/05/17 07:18

退出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 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 {    //Activity列表    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();        }    }}
0 0
原创粉丝点击