Intent intent = new Intent();
intent.setFlag(Intent.FLAG_ACTIVITY_XXX);
FLAG_ACTIVITY_XXX有一下几种(具体详细解释参见Intent类):
(1)FLAG_ACTIVITY_NO_HISTORY:要启动的Activity只能使用一次,该Activity不会保存在堆栈中;
(2)FLAG_ACTIVITY_SINGLE_TOP:如果该Activity在栈顶,则不会启动该Activity;
(3)FLAG_ACTIVITY_NEW_TASK:如果该Activity不存在,则创建一个新Task用于保存要启动的Activity;如果该Activity已经存在,则直接从后台启动;目的主要是为了不让该Activity参与到Activity历史栈中;
(4)FLAG_ACTIVITY_MULTIPLE_TASK
(5)FLAG_ACTIVITY_CLEAR_TOP:finish()掉改Activity栈顶上的所有Activity;
(6)FLAG_ACTIVITY_FORWARD_RESULT
(7)FLAG_ACTIVITY_PREVIOUS_IS_TOP
(8)FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
(9)FLAG_ACTIVITY_BROUGHT_TO_FRONT
(10)FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
(11)FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
(12)FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
(13)FLAG_ACTIVITY_NO_USER_ACTION
(14)FLAG_ACTIVITY_REORDER_TO_FRONT
(15)FLAG_ACTIVITY_NO_ANIMATION
(16)FLAG_ACTIVITY_CLEAR_TASK
(17)FLAG_ACTIVITY_TASK_ON_HOME