安卓深度链接和启动模式



我有一个带有底部导航的活动应用程序,我在其中添加了深度链接。深层链接指向导航图内的片段。我用这个深度链接传递一些数据,然后进一步处理。

当我从whatsapp打开深度链接并且应用程序关闭时,链接工作正常。它会重定向到正确的片段。

我已将导航图添加到主活动中

<nav-graph android:value="@navigation/fragment"/>

但是当应用程序打开并且我点击whatsapp中的链接时,应用程序会进入前台,但深层链接不起作用。甚至不会加载正确的片段。

我尝试将android:launchMode="singleTask"更改为"singleTop",但随后该应用程序在whatsapp中打开。

对此有什么建议吗?

我找到了解决方案。我的活动启动模式仍然是单任务。

因此,在我的主活动中,我覆盖了以下内容:

@Override
protected void onNewIntent(Intent intent) {
setIntent( intent );
super.onNewIntent( intent );
}

然后,我可以在onResume()中呼叫getIntent()并播放执行任务的其余部分。

onNewIntent只是在后台运行时进入应用程序的一个入口点。因此,所有处理和UI更改都必须通过onResume处理。

如果我错了或者你有更好的方法,请随时纠正我。

最新更新