赞
踩
UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互
UIAbility是系统调度的单元,为应用提供窗口在其中绘制界面
点击桌面图标进入应用
一个应用拉起另一个应用
最近任务列表切回应用
每一个UI Ability实例,都对应于一个最近任务列表中的任务
一个应用可以有一个UIAbility ,也可以有多个UIAbility。一个UIAbility可以对应多个页面
创建project,选择empty Ability
在pages 文件下,新建page
页面的跳转需要导入router路由模块
import router from ‘@ohos.router’
通过调用 router.pushUrl() 方法
页面跳转的几种方式,根据需要选择一种方式跳转即可。
router.pushUrl({
url: 'pages/Second'
})
router.replaceUrl({
url: 'pages/Second'
})
在上述页面的跳转中,使用params 传递参数
router.pushUrl({
url: 'pages/Second',
params: {
src: 'Index页面传来的数据',
}
})
在跳转的页面如何接收呢,使用route.getParams方法
@State src: string = (router.getParams() as Record<string, string>)['src'];
使用router.back()
调用router.back()返回的目标页面需要在页面栈中存在才能正常跳转
在调用router.back()方法之前,可以先调用router.enableBackPageAlert()方法开启页面返回询问对话框功能
router.back({
url: 'pages/Index',
params: {
src: 'Second页面传来的数据',
}
})
返回操作不会触发页面的aboutToAppear()函数,但是对于@Entry 修饰的,可以使用onPageShow()函数
当用户浏览、切换和返回到对应应用的时候,应用中的UIAbility实例会在其生命周期的不同状态之间转换。
UIAbility类提供了很多回调,通过这些回调可以知晓当前UIAbility的某个状态已经发生改变:例如UIAbility的创建和销毁,或者UIAbility发生了前后台的状态切换。
import UIAbility from '@ohos.app.ability.UIAbility';
import window from '@ohos.window';
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
// 应用初始化
...
}
...
}
Foreground和Background状态,分别在UIAbility切换至前台或者切换至后台时触发。
分别对应于onForeground回调和onBackground回调。
Destroy状态,在UIAbility销毁时触发。可以在onDestroy回调中进行系统资源的释放、数据的保存等操作。
对于浏览器或者新闻等应用,用户在打开该应用,并浏览访问相关内容后,回到桌面,再次打开该应用,显示的仍然是用户当前访问的界面。
对于应用的分屏操作,用户希望使用两个不同应用(例如备忘录应用和图库应用)之间进行分屏,也希望能使用同一个应用(例如备忘录应用自身)进行分屏。
对于文档应用,用户从文档应用中打开一个文档内容,回到文档应用,继续打开同一个文档,希望打开的还是同一个文档内容。
基于以上场景的考虑,UIAbility当前支持singleton(单实例模式)、multiton(多实例模式)和specified(指定实例模式)3种启动模式。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。