场景描述
在App实际开发过程中,常常会遇到需要跳转到其他功能模块的某个页面中的情况。在该场景下,依据不同的业务处理结果会跳转到不同的页面来展示,这样用户体验更好。该功能场景在HarmonyOS中该如何实现呢?
场景描述
在App实际开发过程中,常常会遇到需要跳转到其他功能模块的某个页面中的情况。在该场景下,依据不同的业务处理结果会跳转到不同的页面来展示,这样用户体验更好。该功能场景在HarmonyOS中该如何实现呢?
1 回答751 阅读✓ 已解决
1 回答1k 阅读
1 回答852 阅读
1 回答826 阅读
1 回答738 阅读
1 回答717 阅读
1 回答671 阅读
知识准备
1、应用级变量的状态管理
2、Ability生命周期
以MainAbility中的某个页面index为例,来启动某个Ability,例如CommonAbility,并跳转到指定页面commonPage1。以此为例来演示如何实现该场景。
场景一:当CommonAbility未启动时
当该Ability未启动时,可以按照如下方式来实现:
步骤1:在MainAbility创建时将上下文context保存到应用中。
步骤2:在MainAbility的index页面中启动CommonAbility,并将需要跳转的页面通过want中的uri参数指定。
步骤3:在指定启动的CommonAbility中的onCreate()生命周期函数中将传递过来的参数信息保存下来。
步骤4:在指定启动的CommonAbility中窗口创建时,将保存的页面参数取出,并加载该页面。
场景二:当CommonAbility已经启动时
步骤1:同场共享包HSP内容访问景一的步骤1。
步骤2:同场景一的步骤2。
步骤3:由于CommonAbility已经启动,需要在onNewWant()回调函数中保存传递过来的参数信息。
步骤4:同场景一的步骤4。
测试结果如下:
点击启动CommonAbility后,跳转到指定页面commonPage1
查看后台Ability情况如下: