說起onNewIntent()調用時機,不能不說Activity的啟動模式。
之前 複習Android之Activity的愛恨情仇講到過,對Activity不熟悉的請移駕。
Activity的啟動模式分為四種:standard,singleTop,singleTask,singleInstance
standard:預設模式,每次啟動都會建立一個新的Activity對象,放到目标任務棧的棧頂
singleTop:判斷目前的任務棧頂是否存在相同的Activity,如果存在,直接使用,如果不存在,建立一個新的Activity對象放入棧頂。
singleTask:在任務棧中判斷是否存在相同的Activity,如果存在,那麼會清楚該Activity之上的所有Activity對象顯示,如果不存在,建立一個新的Activity對象放入棧頂。
singleInstance:會在一個新的任務棧中建立Activity,并且該任務棧中隻允許存在一個Activity執行個體。
當Activity的啟動模式是棧内唯一時,singleTop和singleTask,就會調用onNewIntent。