gpt4 book ai didi

android - 隐式深层链接无法正常工作 - onCreate 调用了两次

转载 作者:行者123 更新时间:2023-12-04 12:02:57 24 4
gpt4 key购买 nike

当我从链接打开我的应用程序时,如果它已经在堆栈上(打开),什么也没有发生。应用程序的现有实例打开,没有任何重定向。我发现这个 Intent 的原因被称为。所以,我在 onNewIntent 方法中添加了 setIntent(newIntent) ,但它没有帮助。然后我添加了以下代码:

    override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
//did not help
//setIntent(intent)
findNavController(R.id.container).handleDeepLink(intent)
}


但是,然后 onNewIntent 被调用了两次。点击链接后的日志结果为:(存在应用实例时)
2019-11-19 10:43:18.758 D/CORN_DEBUG: onNewIntent
2019-11-19 10:43:18.805 D/CORN_DEBUG: onNewIntent
2019-11-19 10:43:19.248 D/CORN_DEBUG: onCreate Main Activity

否则,结果是:
2019-11-19 10:45:05.272 D/CORN_DEBUG: onCreate Main Activity
2019-11-19 10:45:05.524 D/CORN_DEBUG: onNewIntent
2019-11-19 10:45:06.041 D/CORN_DEBUG: onCreate Main Activity

由于 onCreate 被调用两次,屏幕闪烁。问题是什么?

附言启动模式是单任务。

最佳答案

处理深层链接
强烈建议在使用 Navigation 时始终使用默认的标准启动模式。使用标准启动模式时,Navigation 通过调用 handleDeepLink() 自动处理深层链接,以处理 Intent 中的任何显式或隐式深层链接。但是,如果在使用诸如 singleTop 之类的备用启动模式时重新使用 Activity,这不会自动发生。这种情况下,需要在onNewIntent()中手动调用handleDeepLink(),如下例所示:
https://developer.android.com/guide/navigation/navigation-deep-link#handle

关于android - 隐式深层链接无法正常工作 - onCreate 调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58927469/

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