天天看點

android:intent flags

一、Activity和Task(棧)的關系

  Task就像一個容器,而Activity就相當與填充這個容器的東西,第一個東西(Activity)則會處于最下面,最後添加的東西(Activity)則會在最低端。從Task中取出東西(Activity)則是從最頂端取出,也就是說最先取出的是最後添加的東西(Activity),一次類推,最後取出的是第一次添加的Activity,而Activity在Task中的順序是可以控制的,那則在Activity跳轉時用到Intent Flag

  二、界面跳轉和服務的啟動都會用到Intent,現在介紹Intent Flag是關于Activity的跳轉

  Intent intent = new Intent(this,xxx.class);

  //如果activity在task存在,拿到最頂端,不會啟動新的Activity

  intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);

  //如果activity在task存在,将Activity之上的所有Activity結束掉

  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

  //預設的跳轉類型,将Activity放到一個新的Task中

  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  //如果Activity已經運作到了Task,再次跳轉不會在運作這個Activity

  intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

本文轉自老Zhan部落格園部落格,原文連結:http://www.cnblogs.com/mybkn/archive/2012/05/26/2519644.html,如需轉載請自行聯系原作者

繼續閱讀