当前位置: 移动技术网 > 移动技术>移动开发>Android > android开发中关于Intent的Flag属性的讲解

android开发中关于Intent的Flag属性的讲解

2018年11月05日  | 移动技术网移动技术  | 我要评论

以下是今天讲解intent的flag属性的列表:

flag_activity_brought_to_front flag_activity_clear_top flag_activity_new_task flag_activity_no_animation flag_activity_no_history flag_activity_reorder_to_front flag_activity_single_top


以flag_activity_brought_to_front方式启动activity

假如当前的activity栈如下图:

这里写图片描述

接着我们在activitya中以flag_activity_brought_to_front方式启动activityb,这时activity栈如下图:

这里写图片描述

总结:如果以flag_activity_brought_to_front方式启动activityb,如果该activityb存在在activity栈中,下次再次启动该activityb时,将会把该activityb带到栈顶。


以flag_activity_clear_top方式启动activity

假如当前的activity栈如下图:

这里写图片描述

接着我们在activitya中以flag_activity_clear_top方式启动activityc,这时activity栈如下图:

这里写图片描述

总结:如果以flag_activity_clear_top启动activityc,会将activityc之上的activity(activitya、activityb)全部弹出。


以flag_activity_new_task方式启动activity

假如当前的activity栈如下图:

这里写图片描述

接着我们在activitya中以flag_activity_new_task方式启动activityc,这时activity栈如下图:

这里写图片描述

总结:如果以flag_activity_new_task启动activityc,将会重新创建activityc并放至栈顶,同样,如果是在同一个activity(b)中再次启动该activity(b),这时在栈中会有两个activity(b)。


以flag_activity_no_animation方式启动activity

接着我们在activitya中以flag_activity_no_animation方式启动activityc,这时会禁用启动activityc时的过渡动画。


以flag_activity_no_history方式启动activity

假如当前的activity栈如下图:

这里写图片描述

接着我们在activitya中以flag_activity_no_history方式启动activitye,再在activitye中启动activityf,这时activity栈如下图:

这里写图片描述

总结:如果以flag_activity_no_history启动activitye,再在activitye中启动activityf,这时activitye是不会保存在activity栈中。


以flag_activity_reorder_to_front方式启动activity

假如当前的activity栈如下图:

这里写图片描述

如果以flag_activity_reorder_to_front方式启动activityb,这时activity栈如下图:

这里写图片描述

总结:如果以flag_activity_reorder_to_front方式启动activityb,这时直接将activityb带到栈顶。


以flag_activity_single_top方式启动activity

假如当前的activity栈如下图:

这里写图片描述

接着我们在activitya中再次启动activitya,这时activity栈如下图:

这里写图片描述

总结:如果在activitya中以flag_activity_single_top方式启动activitya,这时activity栈保持不变,并不会重新创建activitya。

(function () {" role="presentation">(function(){(function(){('pre.prettyprint code').each(function () {

var lines = (this).text().split(′\n′).length;var" role="presentation">(this).text().split(′\n′).length;var(this).text().split(′\n′).length;varnumbering = $('').addclass('pre-numbering').hide();

(this).addclass(′has−numbering′).parent().append(" role="presentation">(this).addclass(′has?numbering′).parent().append((this).addclass(′has?numbering′).parent().append(numbering);

for (i = 1; i <= lines; i++) {

numbering.append(" role="presentation">numbering.append(numbering.append(('').text(i));

};

$numbering.fadein(1700);

});

});

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网