如何在Ability内替换Slice,防止返回键返回上一个Slice?

如题,如果直接 addActionRoute 用 Intent跳转,用过的Slice不会销毁,按返回键还会退回上一个Slice。如何避免这样的情况发生,使Ability内始终只有一个Slice?

延迟用terminate销毁历史,会有退出动画一闪而过,效果不太好。

Ability
Slice
鸿蒙
2022-07-19 16:09:04
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Raoeym
3

系统为每个Page维护了一个AbilitySlice实例的栈,每个进入前台的AbilitySlice实例均会入栈。当开发者在调用present()或presentForResult()时指定的AbilitySlice实例已经在栈中存在时,则栈中位于此实例之上的AbilitySlice均会出栈并终止其生命周期。但如果导航时指定的AbilitySlice实例均是新建的,则新的AbilitySlice实例会入栈。同样的,点击返回按钮就是将当前栈顶的AbilitySlice出栈。

综上:楼主可以尝试使用单例AbilitySlice实例进行跳转。

参考链接:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ability-page-switching-0000000000037999

分享
微博
QQ
微信
回复
2022-07-19 17:03:53
相关问题
fetch返回no internet
5133浏览 • 2回复 已解决
如何监听手机“返回”物理按键?
7689浏览 • 2回复 已解决
JAVA UI 怎么返回页?
4707浏览 • 2回复 已解决
entry中如何拉起另一个Module中的Ability
1670浏览 • 1回复 待解决
PageAbility配合多个Slice实现页面间切换
11418浏览 • 4回复 已解决
如何打开指定文件夹,选择文件返回
6297浏览 • 1回复 待解决
返回sdkmgr: command not found
1222浏览 • 1回复 待解决
storage.get返回[pc Preview]: no system
3602浏览 • 1回复 待解决
鸿蒙Webview加载Url,alipay无法返回
6651浏览 • 1回复 待解决
hdc list targets 返回 empty
1743浏览 • 1回复 待解决
arkui怎么展示接口返回的富文本?
612浏览 • 1回复 待解决
求助:关于HTTP返回值的问题
498浏览 • 1回复 待解决
如何创建一个pgsql只读账户?
634浏览 • 2回复 待解决
如何调用并测试一个wifi接口?
3745浏览 • 1回复 待解决