Android activity onNewIntent觸發時機

一直對activity的onNewIntent有些困惑,開始時只是知道在activity被重新restart時會進入,後來又發現還不只是這種情況,下面是經過調試後的結論

第一種情況:activity launchMode爲singleTask或者singleInstance

1、activitya start activityb

2、activityb start activitya

在第二步被執行後,activitya就會順序執行 onNewIntent onRestart onStart onResume


第二種情況:activity launchMode爲singleTop singleTask singleInstance

1、start activitya

2、activitya start activitya

在第二步被執行後,activitya就會順序執行onPause onNewIntent onResume


第一種情況其實是真正的activity被restart,第二種情況是activity位於棧頂時被再次start就會進入onNewIntent

其實理解的簡單一點,無論什麼模式,只有activity是同一個實例的情況下,intent發生了變化,就會進入onNewIntent中,這個方法的作用也是讓你來對舊的intent進行保存,對新的intent進行對應的處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章