Intent的Extra屬性一般用於在多個Action之間進行數據交換,Intent的Extra屬性值應該是一個Bundle對象,Bundle對象的就像一個Map對象,它能夠存入多組key-value對,這樣能夠就經過Intent在不一樣Activity不一樣之間進行數據交換了。動畫
Flag屬性對象
Intent的Flag屬性用於爲該Intent添加一些額外的控制遊標,Intent可調用addFlags()方法來爲Intent添加控制旗標。it
Intent包含了以下經常使用的Flag遊標。io
- FLAG_ACTIVITY_BROUGHT_TO_FRONT:若是經過該Flag啓動的Activity已經存在,下次再次啓動時,將只是將該Activity帶到前臺。例如如今Activity棧中有Activity A,此時以該旗標啓動Activity B(即Activity B是以FLAG_ACTIVITY_BROUGHT_TO_FRONT旗標啓動的),而後在Activity 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這4個Activity,若是採用該Flag從Activity D跳轉到Activity B,此時Activity棧中只包含A、B兩個Activity。
- FLAG_ACTIVITY_VIEW_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_REORDER_TO_FRONT旗標來啓動Activity B,那麼啓動後的Activity棧中情形爲A、C、D、B。
- FLAG_ACTIVITY_SINGLE_TOP:該Flag至關於加載模式中的singleTop模式,例如原來Activity棧中有A、B、C、D這4個Activity,在Activity D中再次啓動Activity D,Activity棧中依然仍是A、B、C、D這4個Activity。