鸿蒙OS系统中要怎么实现页面跳转?鸿蒙OS中实现页面跳转方法汇总!

时间:2022-08-01 20:31:04 

鸿蒙OS系统中要怎么实现页面跳转?鸿蒙系统作为一个开源的免费系统,目前已经开始内部测试使用了。而对于开发人员来说,想要了解鸿蒙的页面跳转方法,下面小编就为大家讲解一下吧!

鸿蒙OS系统中要怎么实现页面跳转?鸿蒙OS中实现页面跳转方法汇总!

操作方法:

①不同 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)。

标签:鸿蒙
0
投稿

猜你喜欢

  • 如何在excel表格中换行?

    2022-04-01 16:55:53
  • 怎样查找Excel中的公式?

    2022-12-13 10:39:17
  • SiteSucker mac版常见问题汇总!

    2022-10-29 07:49:33
  • office365文档怎么设置下标?office365设置下标教程

    2023-10-30 01:14:16
  • Windows7系统便签工具使用用法图解

    2023-02-01 22:47:23
  • Win7系统桌面图标显示异常统一变成白色的两种解决方法

    2022-09-07 22:41:08
  • Win10系统下如何让文件夹窗口并排显示

    2023-11-16 22:59:20
  • 优健康app如何查询个人体检报告?优健康app查询个人体检报告的操作方法

    2022-11-07 23:19:28
  • Win10共享文件夹Win7没有权限访问怎么办?

    2023-09-16 14:03:47
  • win7 电脑突然打不开网页了怎么办 win7电脑网页打不开解决方法

    2022-03-22 03:05:49
  • Mac怎么禁用Adobe无用自启项 Mac禁用Adobe无用自启项图文教程

    2022-05-02 12:26:46
  • IE浏览器自动关闭是怎么回事

    2022-11-28 03:42:41
  • Affinity Photo能代替PS的修图神器

    2022-11-19 18:19:42
  • WORD文档用WPS打开出现很多空白页怎么办?

    2023-12-05 03:44:49
  • SPSS怎么进行数据合并?SPSS数据合并之个案添加合并教程

    2022-07-30 09:28:46
  • 为什么Win10压缩不显示压缩图标?压缩文件不显示压缩图标解决方法

    2023-10-17 10:59:41
  • Excel三种思路,活用分列,通配符查找替换,活用截取查找函数

    2023-12-03 10:21:20
  • 低配电脑装Win10还是Win7比较流畅?

    2022-07-06 18:29:42
  • 如何使用QQ远程协助功能?

    2022-02-04 08:47:04
  • word修订模式怎么用?

    2023-11-29 20:23:14
  • asp之家 电脑教程 m.aspxhome.com