gpt4 book ai didi

android - onNewIntent() 生命周期和注册的监听器

转载 作者:IT老高 更新时间:2023-10-28 12:58:08 25 4
gpt4 key购买 nike

我正在使用 singleTop Activity 通过 onNewIntent() 从搜索对话框接收 Intent .

我注意到 onPause()onNewIntent() 之前被调用,然后它调用 onResume()。视觉上:

  • 已启动搜索对话框
  • 向 Activity 触发搜索 Intent
  • onPause()
  • onNewIntent()
  • onResume()

问题是我在 onResume() 中注册的监听器在 onPause() 中被删除,但在 onNewIntent() 中需要它们 调用。有没有一种标准方法可以让这些听众可用?

最佳答案

onNewIntent() 是作为 singleTop Activity 的入口点,这些 Activity 已经在堆栈中的其他位置运行,因此无法调用 onCreate()。因此,从 Activity 生命周期的角度来看,需要在 onNewIntent() 之前调用 onPause()。我建议您重写您的 Activity 以不在 onNewIntent() 中使用这些监听器。例如,大多数时候我的 onNewIntent() 方法看起来像这样:

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// getIntent() should always return the most recent
setIntent(intent);
}

通过利用 getIntent()onResume() 中发生所有设置逻辑。

关于android - onNewIntent() 生命周期和注册的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8619883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com