Intent的Flag什么意思?求指教!
1个回答
展开全部
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篇。
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篇。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询