protected void onNewIntent(Intent
API level 1
This is called for activities that set launchMode to "singleTop" in their package, or if a client used the
FLAG_ACTIVITY_SINGLE_TOP
flag when calling
startActivity(Intent)
. In either case, when the activity is re-launched while at the top of the activity stack instead of a new instance of the activity being started, onNewIntent() will be called on the existing instance with the Intent that was used to re-launch it.
An activity will always be paused before receiving a new intent, so you can count on
onResume()
being called after this method.
Note that
getIntent()
still returns the original Intent. You can use
setIntent(Intent)
to update it to this new Intent.
Parameters
intent | The new intent that was started for the activity. |
See Also
-
getIntent()
-
setIntent(Intent)
-
onResume()
调用 onNewIntent 有两种情况:
第一种: 这个 Activity A设置为 SingleTop 启动模式。也就是位于栈顶就不新创建。
第二种: 启动一个 Activity A时把 Intent flag 设置为
FLAG_ACTIVITY_SINGLE_TOP
如果重新启动这个 Activity A,当 A 位于栈顶时(这样 A 不用新建实例),onNewIntent 将会被调用。
另外,如果有必要更新获取的 Intent,需要调用下 setIntent。这个方法一般也是和 onNewIntent 连用的。