Flag属性

Intent的Flag属性用于为该Intent添加一些额外的控制旗标,Intent可调用addFlags()方法来为Intent添加控制旗标。

  • 常用的Flag旗标
常量解释
FLAG_ACTIVITY_BROUGHT_TO_FRONT如果通过该Flag启动的Activity已经存在,下次再次启动时,将只是将该Activity带到前台。例如现在Activity栈中有Activity A,此时以该Flag启动Activity B(即Activity B是以FLAG_ACTIVITY_BROUGHT_TO_FRONT旗标启动的),然后在Activity B中启动C、D,这时Activity栈中的情形是A、B、C、D。如果此时在Activity D中再启动B,将直接把Activity栈中的Activity B带到前台。此时Activity栈中的情形是A、C、D、B。
FLAG_ACTIVITY_CLEAR_TOP该Flag相当于加载模式中的singleTask,通过这种Flag启动的Activity将会把要启动的Activity之上的Activity全部弹出Activity栈。例如,Activity栈中包含A、B、C、D这四个Activity,如果采用该Flag从Activity D跳转到Activity B,此时Activity栈中只包含A、B两个Activity。
FLAG_ACTIVITY_NEW_TASK默认的启动旗标。该旗标控制重新创建一个新的Activity。
FLAG_ACTIVITY_NO_ANIMATION该旗标会控制启动Activity时不适用过渡动画。
FLAG_ACTIVITY_NO_HISTORY该旗标控制被启动的Activity将不会保留在Activity栈中。例如Activity中原有A、B、C三个Activity,此时在Activity C中以该Flag启动Activity D,Activity D再启动Activity E,此时Activity栈中只有A、B、C、E这4个Activity,Activity D不会保留在Activity栈中。
FLAG_ACTIVITY_REORDER_TO_FRONT该Flag控制如果当前已有该Activity,直接将该Activity带到前台。例如现在Activity栈中有A、B、C、D这4个Activity,如果使用该Flag来启动Activity B,那么启动后的Activity栈中情形为A、C、D、B。
FLAG_ACTIVITY_SINGLE_TOP该Flag相当于加载模式中的singleTop模式,例如原来Activity栈中有A、B、C、D这四个Activity,在Activity D中再次启动Activity D,那么Activity栈中还是A、B、C、D这四个Activity。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值