Android深层链接和启动模式

时间:2020-01-11 15:32:25

标签: android deep-linking bottomnavigationview

我有一个带有底部导航的单一活动应用,并向其中添加了深层链接。深度链接是指向导航图内部的片段。我通过此Deeplink传递了一些数据,然后对其进行了进一步处理。

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

我已将导航图添加到MainActivity

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

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

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

对此有何建议?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。我的活动launchMode仍然是singleTask。

因此在我的MainActivity中,我重写了以下内容:

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

然后我可以在getIntent()中呼叫onResume(),然后执行剩余的任务。

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

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