目录

卡片跳转到应用页面

问题现象

为了实现服务直达的便捷体验效果,如何通过桌面卡片跳转到应用页面?

背景知识

解决方案

主应用中的路由导航有多种方式,常见的场景包括:一、使用Router页面路由;二、使用Navigation组件导航;三、混合使用Router页面路由和Navigation组件导航。针对不同场景,卡片跳转到应用页面的处理方式不同。

场景

解决方案

使用Router页面路由

在EntryAbility的onCreate及onNewWant回调中直接跳转对应页面

使用Navigation组件导航

在EntryAbility的onCreate及onNewWant回调中保存跳转目标页面,在首页跳转

混合使用Router页面路由和Navigation组件导航

在EntryAbility的onCreate及onNewWant回调中保存跳转目标页面,在首页或者其他Router页面跳转

常见FAQ

Q:多次点击服务卡片拉起应用指定页面后,该页面在路由栈内存在多个,导致返回上一面需要多次返回操作。如何解决该问题?

A:应用在接收到对应的router跳转事件后,处理跳转的时候需要判断跳转的页面是否已经在路由栈的栈顶,如果在的话需要替换当前的页面,如果不在的话,重新push这个页面到栈。