一起學android之關於Intent的Flag屬性的講解(36),androidintent
以下是今天講解Intent的Flag屬性的列表:
接著我們在ActivityA中以FLAG_ACTIVITY_BROUGHT_TO_FRONT方式啟動ActivityB,這時Activity棧如:
總結:如果以FLAG_ACTIVITY_BROUGHT_TO_FRONT方式啟動ActivityB,如果該ActivityB存在在Activity棧中,下次再次啟動該ActivityB時,將會把該ActivityB帶到棧頂。
接著我們在ActivityA中以FLAG_ACTIVITY_CLEAR_TOP方式啟動ActivityC,這時Activity棧如:
總結:如果以FLAG_ACTIVITY_CLEAR_TOP啟動ActivityC,會將ActivityC之上的Activity(ActivityA、ActivityB)全部彈出。
接著我們在ActivityA中以FLAG_ACTIVITY_NEW_TASK方式啟動ActivityC,這時Activity棧如:
總結:如果以FLAG_ACTIVITY_NEW_TASK啟動ActivityC,將會重新建立ActivityC並放至棧頂,同樣,如果是在同一個Activity(B)中再次啟動該Activity(B),這時在棧中會有兩個Activity(B)。
- 以FLAG_ACTIVITY_NO_ANIMATION方式啟動Activity
接著我們在ActivityA中以FLAG_ACTIVITY_NO_ANIMATION方式啟動ActivityC,這時會禁用啟動ActivityC時的過渡動畫。
- 以FLAG_ACTIVITY_NO_HISTORY方式啟動Activity
假如當前的Activity棧如:
接著我們在ActivityA中以FLAG_ACTIVITY_NO_HISTORY方式啟動ActivityE,再在ActivityE中啟動ActivityF,這時Activity棧如:
總結:如果以FLAG_ACTIVITY_NO_HISTORY啟動ActivityE,再在ActivityE中啟動ActivityF,這時ActivityE是不會儲存在Activity棧中。
- 以FLAG_ACTIVITY_REORDER_TO_FRONT方式啟動Activity
假如當前的Activity棧如:
如果以FLAG_ACTIVITY_REORDER_TO_FRONT方式啟動ActivityB,這時Activity棧如:
總結:如果以FLAG_ACTIVITY_REORDER_TO_FRONT方式啟動ActivityB,這時直接將ActivityB帶到棧頂。
接著我們在ActivityA中再次啟動ActivityA,這時Activity棧如:
總結:如果在ActivityA中以FLAG_ACTIVITY_SINGLE_TOP方式啟動ActivityA,這時Activity棧保持不變,並不會重新建立ActivityA。
轉載請註明出處:http://blog.csdn.net/hai_qing_xu_kong/article/details/45539333情緒控_