如果应用程序已打开,则深度链接无法正确重定向



我使用Jetpack Navigation进行深度链接。我已将android:launchMode="singleTask"添加到"活动"中。如果之前没有打开应用程序,Deeplink会被正确重定向。然而,如果应用程序存在于内存中,则该应用程序将进入前台,但深度链接未正确打开。

我的设备是Android 10的Pixel 2。我看到onCreate只是在我第一次打开应用程序时被调用的。但是,每次单击深度链接时都会调用onNewIntent

是Jetpack导航中的错误,还是我在设置时忘记了什么?

根据handleDeepLink()文档:

如果在构造此NavController时传入了Activity作为上下文,则在第一次设置图形时会自动调用此函数,但如果"活动"在Activity.onNewIntent(Intent)中接收到新Intents,则应手动调用此函数

NavController不会覆盖活动中的方法,因此如果您坚持使用android:launchMode="singleTask",则需要手动调用此方法。

根据Single Activity talk,您根本不应该使用任何launchMode标志——99.9%的时间里,默认标志实际上是您想要的。

最新更新