onNewIntent()
是一个 Android 生命周期方法,当 Activity 的实例被系统重新创建时(例如由于配置更改或系统内存不足导致的销毁和重建),此方法会被调用
-
首先,确保您的 Activity 实现了
androidx.appcompat.app.AppCompatActivity
或android.app.Activity
类。 -
在您的 Activity 中重写
onNewIntent()
方法。这个方法接收一个Intent
参数,该参数包含了重新创建 Activity 时传递的新 Intent 信息。
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); // 在这里处理新的 Intent }
- 在
onNewIntent()
方法内部,您可以根据需要处理新的 Intent。例如,您可以更新 UI、启动一个新的 Fragment 或者执行其他操作。
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); // 检查 Intent 的数据和操作 if (intent.getAction().equals("com.example.APP.ACTION_UPDATE")) { // 更新 UI 或执行其他操作 } }
- 如果您的 Activity 在
AndroidManifest.xml
文件中设置了launchMode="singleTask"
,那么onNewIntent()
方法将在每次启动时都会被调用。在这种情况下,确保您的应用程序逻辑能够正确处理多个 Activity 实例。
请注意,onNewIntent()
方法主要用于处理与之前 Activity 实例相关的操作。如果您需要在应用程序启动时执行某些操作,请考虑使用 onCreate()
方法。