【鸿蒙】开发之页面跳转组件—实现页面跳转方法汇总!
创始人
2024-11-10 10:37:31
0

不同 Slice 间跳转,同一个 Ability 中,优点是方便,高效,缺点是业务逻辑复杂度受限。

button.setClickedListener(     listener -> present(new SecondAbilitySlice(), new Intent()) ); 

使用 Intent 借助于 ElementName,最常用的页面跳转方式,方便传递参数以及实现相对复杂的业务逻辑交互。

ElementName elementName = new ElementName(……); intent.setElement(elementName); intent.setParam(……); startAbility(intent); 

借助于 Operation,可实现跨应用页面跳转。

Intent intent = new Intent(); Operation operation = new Intent.OperationBuilder()         .withDeviceId("")         .withBundleName("com.demoapp")         .withAbilityName("com.demoapp.FooAbility")         .build();  intent.setOperation(operation); startAbility(intent); 

Rout 路由(JS),调用 router.push() 接口将 uri 指定的页面添加到路由栈中,即跳转到 uri 指定的页面。在调用 router 方法之前,需要导入 router 模块。

调用 router.push() 路由到详情页:

// index.js import router from '@system.router'; export default {   launch() {     router.push ({       uri: 'pages/detail/detail',     });   }, } 

调用 router.back() 回到首页:

// detail.js import router from '@system.router'; export default {   launch() {     router.back();   }, } 

通过迁移实现分布式设备间页面传递(有请求迁移和请求回迁两种操作)。

1)需实现 IAbilityContinuation 接口

2)需要权限:

ohos.permission.GET_DISTRIBUTED_DEVICE_INFO:用于允许获取分布式组网内的设备列表和设备信息 ohos.permission.DISTRIBUTED_DATASYNC:用于允许不同设备间的数据交换 ohos.permission.DISTRIBUTED_DEVICE_STATE_CHANGE:用于允许监听分布式组网内的设备状态变化 ohos.permission.READ_USER_STORAGE:读取存储卡中的内容 ohos.permission.WRITE_USER_STORAGE:修改或删除存储卡中的内容 ohos.permission.GET_BUNDLE_INFO:用于查询其他应用的信息 ohos.permission.servicebus.ACCESS_SERVICE:分布式数据传输的权限 com.huawei.hwddmp.servicebus.BIND_SERVICE:系统应用使用权限 

3)需要获取分布式设备 ID(NetworkID)

核心服务类:IContinuationRegisterManager。

服务类的常用 API 方法:

  • getContinuationRegisterManager();获取服务类的对象

  • register();注册服务

  • showDeviceList();获取设备列表

  • unregister();注销服务

4)请求迁移关键步骤(假定设备 A 向设备 B 迁移)

如下:

  • 需要迁移的 page 实现 IAbilityContinuation 接口

  • 复写 onStartContinuation() 方法,做迁移前的准备工作

  • 复写 onSaveData()方法,保存迁移数据

  • 在设备 B 上复写 onRestoreData() 方法,恢复迁移数据

  • 在设备 A 上复写 onCompleteContinuation() 方法,做迁移后的收尾工作

  • 调用 continueAbility() 或 continueAbilityReversibly() 发起迁移

5)请求回迁需在设备 A 上调用 reverseContinueAbility() 请求回迁

以下关键步骤类似 4)。

最后

如果你想成为一名鸿蒙开发者,以下这些资料将是十分优质且有价值,让你的鸿蒙开发之路事半功倍!相对于网上那些碎片化的知识内容,这份学习资料的知识点更加系统化,更容易理解和记忆。

内容包含了:【OpenHarmony多媒体技术、Stage模型、ArkUI多端部署、分布式应用开发、音频、视频、WebGL、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。

鸿蒙Next全套VIP学习资料←点击领取!(安全链接,放心点击

1.鸿蒙核心技术学习路线

2.大厂面试必问面试题

3.鸿蒙南向开发技术

 4.鸿蒙APP开发必备

 5.HarmonyOS Next 最新全套视频教程

 6.鸿蒙生态应用开发白皮书V2.0PDF

这份全套完整版的学习资料已经全部打包好,朋友们如果需要可以点击→鸿蒙Next全套VIP学习资料:免费领取(安全链接,放心点击

相关内容

热门资讯

为了进一步!uupoker有透... 为了进一步!uupoker有透视吗,wepoker辅助器怎么弄,窍要教程(有挂分享)1)wepoke...
五分钟辅助!微乐小程序黑科技辅... 五分钟辅助!微乐小程序黑科技辅助工具2026最新推荐,果然是真的有辅助插件(存在有挂)1)微乐小程序...
出现新变化!fishpoker... 出现新变化!fishpoker透视底牌,wepoker提高好牌率,窍要教程(有挂方法)1、该软件可以...
九分钟辅助!wepoker辅助... 九分钟辅助!wepoker辅助器,果然是有辅助插件(有挂实锤)1)wepoker辅助器辅助插件:进一...
经核实!德普之星透视软件免费入... 经核实!德普之星透视软件免费入口官网,wepoker私人局辅助挂,操作教程(有挂方略)1.德普之星透...
第一分钟辅助!新超圣辅助器,一... 第一分钟辅助!新超圣辅助器,一直是有辅助挂(有挂攻略)1、进入游戏-大厅左侧-新手福利-激活码辅助透...
黑科技技巧!德扑圈透视,hhp... 黑科技技巧!德扑圈透视,hhpoker必备开挂,诀窍教程(有挂方法)暗藏猫腻,小编详细说明hhpok...
四分钟辅助!亿游十三道脚本插件... 四分钟辅助!亿游十三道脚本插件,一直真的是有辅助神器(发现有挂)1、亿游十三道脚本插件公共底牌简单,...
截至发稿!wepoker破解是... 截至发稿!wepoker破解是真的还是假的,wepoker有没有机器人,绝活儿教程(有挂详细)一、w...
第十分钟辅助!微信小程序边锋干... 第十分钟辅助!微信小程序边锋干瞪眼,原来有辅助软件(真是有挂)1、全新机制【微信小程序边锋干瞪眼ai...