问题描述
因此,假设我有3种类型的活动,每种活动都有自己的清单文件和意图过滤器:
在我的应用中,用户可以直接通过意图过滤器深入链接到ProfileActivity或SearchActivity。但是,发生这种情况时,后台程序中将没有HomeActivity。我想确保每次启动非Homeactivity时都在后台堆栈中启动HomeActivity。我该怎么办?
我正在考虑以某种方式检查HomeActivity是否存在,如果不存在,请首先启动它?
解决方法
仔细研究Android Navigation Component.,该库句柄的深层链接。在这里看看:Create a deep link for a destination。
当用户通过显式深层链接打开您的应用程序时,将清除任务后退堆栈,并将其替换为深层链接目标。嵌套图形时,每个嵌套级别的起始目标(即,层次结构中每个元素的起始目标)也被添加到堆栈中。这意味着,当用户从深层链接目标按下“返回”按钮时,他们将在导航堆栈中向上导航,就像从应用程序的入口点进入您的应用程序一样。