Android基礎-Intent flag
一、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);
Intent Flag有20多種.................
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);
Intent Flag有20多種.................
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.