onNewIntent()
是Android Activity生命周期中的一个回调方法,当Activity的实例被系统重新创建时(例如由于配置更改或系统内存不足导致Activity被销毁并重新创建),onNewIntent()
方法会被调用。这个方法允许你在Activity实例被重新创建后执行一些特定的操作。
onNewIntent()
的主要用途如下:
- 传递新的Intent:当你的Activity需要处理与之前不同的Intent时,你可以使用
setIntent()
方法将新的Intent传递给Activity。然后,onNewIntent()
方法会被调用,你可以在这个方法中处理新的Intent。
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); // 更新Activity的Intent // 处理新的Intent }
-
保持状态:在某些情况下,你可能需要在Activity实例被销毁并重新创建后保持其状态。例如,如果你有一个购物车应用,你可能希望在Activity被销毁时保存购物车中的商品,然后在Activity重新创建时恢复这些商品。在这种情况下,你可以在
onNewIntent()
方法中恢复状态。 -
更新UI:如果你的Activity在后台运行,然后系统内存不足导致Activity被销毁并重新创建,你可能希望更新UI以反映最新的数据。在这种情况下,你可以在
onNewIntent()
方法中更新UI。
总之,onNewIntent()
方法允许你在Activity实例被重新创建后执行一些特定的操作,例如传递新的Intent、保持状态或更新UI。