我有一个带有底部导航的活动应用程序,我在其中添加了深度链接。深层链接指向导航图内的片段。我用这个深度链接传递一些数据,然后进一步处理。
当我从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
处理。
如果我错了或者你有更好的方法,请随时纠正我。