鸿蒙OS系统中要怎么实现页面跳转?鸿蒙OS中实现页面跳转方法汇总!
发布时间:2022-08-01 20:31:04
鸿蒙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)。
猜你喜欢
- 在Windows系统中,用户可以轻松的编辑开始菜单并进行各种操作,但是在Ubuntu系统下,很多用户可能不太了解,对于编辑开始菜单的方法还相
- 近来把电脑默认wps变成office的消息也是引起了很多人的关注,那么既然现在大家都想要知道把电脑默认wps变成office,小编今天就来给
- 最新office触控版Excel、word和PowerPoint画廊怎么用?今天早些时候微软宣布Excel、Word和PowerPoint三
- win10笔记本电脑键盘全部没反应怎么办?win10笔记本电脑是很多用户的办公系统,但是有的用户却遇到了打开笔记本电脑,自己的键盘全部没有反
- Win10系统是很多用户都在使用的一个操作系统,但在使用过程中难免出现一些问题,比如电脑开机之后任务栏一直转圈,这是什么回事?要如何解决呢?
- 5 月 20 日消息 苹果公司今天预览了一长串即将推出的新的无障碍功能,包括 Apple Watch 的 AssistiveTo
- 戴尔台式电脑怎么用U盘启动进系统部落PE系统?戴尔台式机如何使用开机快捷键进行U盘启动呢?本文就给大家分享戴尔台式机快捷键及其U盘启动方法。
- 今天和大家分享的是手机版 WPS 怎样快速把文档中的页面提取出来。首先打开手机里的WPS,然后找到你要页面提取的文档:点
- 小编发现最近小伙伴们向小编提出了很多的问题,其中就有部分的小伙伴是问能不能将msocache文件给删除掉,如何清理C盘空间的这类问题。为此就
- 台式电脑目前并不多使用,但是在人们日常的工作过程中,台式电脑还是发挥了他该有的作用。电脑的主机经常会积灰,大家都知道电脑里灰尘太多会影响电脑
- 如果说到减少系统开机速度和加快系统关机速度的,你肯定会有很多种方法,在win7中什么都变了,在xp系统中能用的东西到了win7系统不一定能用
- 近期有部分Win10用户反映自己电脑的声卡由于其配置信息不完整或已损坏,导致电脑出现没有声音的情况,那么遇到这种问题应该怎么办呢?下面就和小
- 一些用户反映使用XP系统访问Win10共享的打印机会出现提示“指定的网络名不再可用”的情况,大家不知道怎么解决,其实造成这个问题的主要原因是
- 给 Word 文档使用标题,前面总要出现一个小黑点,这是 Word标题的默认设置。如果不想要这个小黑点,能否把它去掉?以下是小编为您带来的关
- Win11系统是最新的电脑系统,很多用户都已经安装体验了一阵子,使用中难免会遇到各种问题,Win11装后电脑太烫了是怎么一回事呢?应该怎么解
- u盘系统怎么安装到电脑?这个问题很多朋友问,u盘系统有了,那怎么安装到电脑呢?其实这个问题很简单,那就是制作u盘启动盘,把u盘的系统安装到系
- 当我们在编辑Word文档时,有时我们需要输入箭头符号,但是我们发现键盘上的方向键并不能直接输入这个符号。如何在Word 里输入箭头符号呢?第
- MathType编辑公式的便利性大减少了我们在文档中编辑公式的复杂性,但是在我们完成整个文档的编辑后,过一段时间再打开文档有时会发现Word
- Excel中经常需要使用到表格划分数据,表格具体该如何绘制呢?其实绘制方法不难,下面是由小编分享的excel2007绘制表格的方法,欢迎大家
- Win10怎么设置待机锁屏?待机一段时间后让电脑自动锁屏可以提高安全性,防止他人误操作自己的电脑。那么要这么设置这个待机锁屏呢?小小的设置技