Android 中的深度链接和向上导航

Posted

技术标签:

【中文标题】Android 中的深度链接和向上导航【英文标题】:Deep linking and up navigation in Android 【发布时间】:2016-03-31 23:05:49 【问题描述】:

我有几个关于深度链接和向上导航的问题。

在我的应用程序中有以下活动层次结构:

HomeActivity  ->  ItemListActivity  ->  ItemDetailActivity

通过深度链接(用户从浏览器、电子邮件客户端等点击网址),用户可以直接转到ItemDetailActivity

在如上所示的正常流程中,后退和向上导航将完全相同。

但是如果ItemDetailActivity 是通过深度链接打开的,那么向上的导航流程应该是什么?它应该只是表现得像返回并转到开始活动还是应该转到HomeActivity?据我所知,向上导航应该保留在应用程序中,并且它不能转到ItemListActivity,因为显示项目列表的搜索条件不知道因此HomeScreen

我还希望ItemDetailActivitylaunchModesingleTask

【问题讨论】:

【参考方案1】:

如果你想关注guidelines - 使用深层链接后:

从详细信息屏幕向上将转到列表视图(应包含详细信息项) Back 将关闭应用程序并将用户带到他们之前的位置。

提供正确的返回导航很重要并且需要被谷歌索引,因为未能返回将导致抓取错误。

不过,很少有应用程序提供正确的向上导航。 即使是非常流行的应用程序也不遵循指南和/或做自己的事情。

因此,如果可能,您应该始终尝试并坚持这些准则,但如果不可能或很难做到,它们是准则,而不是规则,您可以做任何您认为最好的事情。

【讨论】:

指南在这方面有点混乱。一方面,该文档指定:“向上按钮用于根据屏幕之间的层次关系在应用程序中导航......系统后退按钮用于按时间倒序在用户拥有的屏幕历史记录中导航最近使用过......”另一方面,文档指定:“在返回按钮的情况下,您应该通过将完整的向上导航路径插入到应用程序最顶层屏幕的任务的返回堆栈中来使导航更加可预测”跨度>

以上是关于Android 中的深度链接和向上导航的主要内容,如果未能解决你的问题,请参考以下文章

深度导航中的 Android 导航抽屉

ANDROID:简单的向上导航不起作用

深度链接、Android 应用链接、Firebase 动态链接和应用索引之间的区别 [关闭]

Android导航组件“向上按钮”打开抽屉导航

为啥我不能直接在 iOS 中的任何地图应用程序上进行深度链接以进行轮流导航? [关闭]

向上导航的空指针android