android - Nav 组件 deeplink 不做条件导航
问题描述
我正在使用 navcomponent 深层链接选项从通用链接深层链接到我的应用程序屏幕。
第 1 步:在 main_nav_graph 文件中添加 deeplink 参数
第 2 步:添加到我的 mainactivity 的清单文件中
第 3 步:点击短信上的链接以启动深层链接
看过的场景:
在我的应用中 SplashActivity 是 Main Launcher 。但是主要活动是初始化导航图的地方。所以我在 Manifest 中为主要活动添加了 navgraph 标签
主要活动作为单个任务添加。
现在,当我进行深度链接时,我看到:
我的主要活动恢复了 2 次(看起来像应用启动然后关闭然后再次启动并深层链接到屏幕)
如果用户未登录,我将进行条件检查以保持导航根视图。但我看到它仍然导航到创建异常场景的深度链接屏幕。
解决方案
根据Navigation 2.1.0-alpha06 发行说明:
导航现在抑制在处理深层链接时重新创建活动时发生的动画,修复视觉闪烁。( b/130362979 )
所以你应该升级到 Navigation 2.1.0(目前2.1.0-rc01
是为了修复视觉故障)。
其次,根据条件导航文档,您不应该将登录屏幕用作图表的根。相反,如果用户未登录,每个需要登录的目的地都应将用户重定向到登录屏幕。这正是为了避免您遇到的情况:您希望用户立即被发送到正确的深层链接屏幕回栈。
推荐阅读
- android - 文本小部件不能为空
- excel - 如何将单元格的填充图案复制到形状?
- node.js - RapidApi 看不到密钥头有什么问题?
- reactjs - 为什么 Azure 在部署 React 应用程序时会因 HTTP ping 失败?
- regex - 抓取除双引号内的所有空格之外的所有空格
- python - 在 Tkinter 中调整窗口大小
- django - 如何在 1 个帖子中选择具有多个子类别的多个父类别?
- html - MP4 视频在除 Safari 之外的所有浏览器中都能正常加载
- spring-mvc - 在表单操作登录中找不到spring mvc资源
- c++ - 高斯模糊毛刺/分割