Intent的Flag什么意思?求指教!

 我来答
东郭芙单胭
2019-11-01 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:1044万
展开全部
flag英文含义是旗帜,信号旗,这个我们可以理解为附加参数吧。Intent基本上是在一个Acitivity里面去启动另外一个Activity,我们可以为这个Intent附件一些参数。FLAG_ACTIVITY_NO_HISTORY我们知道,Activity是存储在栈里面的,当用Activity
A去启动Activity
B的时候,B被压入栈顶,A被压入第二位。接着当B去启动C的时候,C到栈顶,B被压到第二位。
如果设置了Intent.FLAG_ACTIVITY_NO_HISTORY属性,B去启动C的时候,B就不会再栈里面保留了,直接被清除。FLAG_FROM_BACKGROUNDIntent不光可以在Acitivity里面start,还可以从service里面启动,这个参数就表示这个Intent是从后台服务发起的。FLAG_ACTIVITY_SINGLE_TOP这个大概和Activity的栈有关,我理解的也不是很好,所以就不误导你了,你自己查一下。然后那个竖线其实就是为了分隔三个FLAG,如果FLAG不止一个的话,需要加上这个竖线的。这整个Intent大概意思就说,启动一个新的Activity:并且这个新的Activity不用在栈里面保存
FLAG_ACTIVITY_NO_HISTORY并且要清除栈中这个Activity之前的所有Acitivity
FLAG_ACTIVITY_SINGLE_TOP并且这个Intent是来自一个后台服务的,不是从Activity中来的。
FLAG_FROM_BACKGROUND涉及到Android中的叫做back
stack的东西,就是管理Acitivity的,如果不明白,去看一下DEV
GUIDE里面的Acitivity篇。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式