onNewIntent()
是 Android 中的一个回调方法,它在 Activity 的生命周期中起到重要作用。当一个 Activity 已经有一个正在运行的任务栈时,如果此时又启动了这个 Activity 的一个新的实例,那么系统会调用这个 Activity 的 onNewIntent()
方法。这个方法的主要作用是允许你在 Activity 的实例已经存在的情况下,重新处理传入的 Intent。
onNewIntent()
与 onCreate()
和 onStart()
等生命周期方法的区别在于,onCreate()
和 onStart()
是在 Activity 刚被创建或启动时调用的,而 onNewIntent()
是在 Activity 已经存在,但是又收到了一个新的 Intent 时调用的。
以下是一个简单的示例,展示了如何在 onNewIntent()
中处理新的 Intent:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// 处理新的 Intent
setIntent(intent);
}
在这个示例中,我们首先调用 super.onNewIntent(intent)
来确保父类也处理了这个新的 Intent。然后,我们使用 setIntent(intent)
来更新 Activity 的 Intent,这样我们就可以在新的 Intent 中处理不同的数据和操作。