首页 > 其他 > 详细

Intent的Flag

时间:2014-05-28 04:04:14      阅读:304      评论:0      收藏:0      [点我收藏+]

小段代码:

 
  1. Intent it=new Intent();  
  2. it.setClass(Setting.this,Main.class);//从Setting跳转到Main  
  3. it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//加上Flag  
  4. startActivity(it);  

 

 

根据上面的例子解释:
没有加Flag:如果没有Flag,上面的这段代码是新启动Main,不管是不是已经启动Main,这样在栈中从上往下的顺序就是Main,Setting,Main。这里有两个Main
FLAG_ACTIVITY_CLEAR_TOP:清除Main上面的所有Activity(包括Setting,所以这里就不用调用Setting的finish方法),如果Main已经启动了,重新启动,栈中从上往下顺序:Main
FLAG_ACTIVITY_REORDER_TO_FRONT:如果Main已经启动,则不会重新启动Main,而是把在后台没显示的Main带到最前面,栈中从上往下顺序:Main,Setting
FLAG_ACTIVITY_NO_HISTORY:启动Main后,如果再切换到其他Activity(包括按返回键、startActivity方法等),Main会自动调用finish方法,不会留在栈中。
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS:启动过以后,在长按Home的跳出的最近启动程序中不会出现.

另,addFlags可添加多个Flag, setFlags可以通过|来设置多个Flag

Intent的Flag,布布扣,bubuko.com

Intent的Flag

原文:http://www.cnblogs.com/hudabing/p/3753227.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!