鸿蒙5.0开发进阶:Stage模型-@ohos.app.ability.AbilityStage (AbilityStage)

往期鸿蒙全套实战文章必看:(文中附带全栈鸿蒙学习资料)


@ohos.app.ability.AbilityStage (AbilityStage)

AbilityStage是HAP的运行时类。

AbilityStage类提供在HAP加载的时候,通知开发者,可以在此进行该HAP的初始化(如资源预加载,线程创建等)能力。

说明

本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块接口仅可在Stage模型下使用。

导入模块

import { AbilityStage } from '@kit.AbilityKit';

AbilityStage.onCreate

onCreate(): void

当应用创建时调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

示例:

import { AbilityStage } from '@kit.AbilityKit';

class MyAbilityStage extends AbilityStage {
  onCreate() {
    console.log('MyAbilityStage.onCreate is called');
  }
}

AbilityStage.onAcceptWant

onAcceptWant(want: Want): string

启动一个specified ability时触发的事件。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
wantWantWant类型参数,传入需要启动的ability的信息,如Ability名称,Bundle名称等。

返回值:

类型说明
string返回一个ability标识,如果之前启动过标识的ability,不创建新的实例并拉回栈顶,否则创建新的实例并启动。

示例:

import { AbilityStage, Want } from '@kit.AbilityKit';

class MyAbilityStage extends AbilityStage {
  onAcceptWant(want: Want) {
    console.log('MyAbilityStage.onAcceptWant called');
    return 'com.example.test';
  }
}

AbilityStage.onNewProcessRequest11+

onNewProcessRequest(want: Want): string

在指定进程中启动UIAbility时回调。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
wantWantWant类型参数,传入需要启动的ability的信息,如Ability名称,Bundle名称等。

返回值:

类型说明
string返回一个由开发者自行决定的进程字符串标识,如果之前此标识对应的进程已被创建,就让ability在此进程中运行,否则创建新的进程。

示例:

import { AbilityStage, Want } from '@kit.AbilityKit';

class MyAbilityStage extends AbilityStage {
  onNewProcessRequest(want: Want) {
    console.log('MyAbilityStage.onNewProcessRequest called');
    return 'com.example.test';
  }
}

AbilityStage.onConfigurationUpdate

onConfigurationUpdate(newConfig: Configuration): void

环境变化通知接口,发生全局配置变更时回调。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
newConfigConfiguration发生全局配置变更时触发回调,当前全局配置包括系统语言、深浅色模式。

示例:

import { AbilityStage, Configuration } from '@kit.AbilityKit';

class MyAbilityStage extends AbilityStage {
  onConfigurationUpdate(config: Configuration) {
    console.log(`onConfigurationUpdate, language: ${config.language}`);
  }
}

AbilityStage.onMemoryLevel

onMemoryLevel(level: AbilityConstant.MemoryLevel): void

当系统已决定调整内存时调用。例如,当该功能在后台运行时,没有足够的内存来运行尽可能多的后台进程时可以使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
levelAbilityConstant.MemoryLevel回调返回内存微调级别,显示当前内存使用状态。

示例:

import { AbilityStage, AbilityConstant } from '@kit.AbilityKit';

class MyAbilityStage extends AbilityStage {
  onMemoryLevel(level: AbilityConstant.MemoryLevel) {
    console.log(`onMemoryLevel, level: ${JSON.stringify(level)}`);
  }
}

AbilityStage.context

context: AbilityStageContext

指示AbilityStage的上下文。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

属性名类型说明
contextAbilityStageContext在Ability启动阶段进行初始化时回调,获取到该Ability的context值。

示例:

import { AbilityStage } from '@kit.AbilityKit';

export default class MyAbilityStage extends AbilityStage {
  onCreate() {
    let abilityStageContext = this.context;
  }
}

AbilityStage.onDestroy12+

onDestroy(): void

当应用销毁时调用, 此方法将在正常的调度生命周期中调用, 当应用程序异常退出或被终止时,将不会调用此方法。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

示例:

import { AbilityStage } from '@kit.AbilityKit';

class MyAbilityStage extends AbilityStage {
  onDestroy() {
    console.log('MyAbilityStage.onDestroy is called');
  }
}

ysql001 ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl \Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package zabbix-apache-conf-scl.noarch 0:5.0.47-1.el7 will be installed --> Processing Dependency: zabbix-web-deps-scl = 5.0.47-1.el7 for package: zabbix-apache-conf-scl-5.0.47-1.el7.noarch ---> Package zabbix-web-mysql-scl.noarch 0:5.0.47-1.el7 will be installed --> Processing Dependency: rh-php72-php-mysqlnd for package: zabbix-web-mysql-scl-5.0.47-1.el7.noarch --> Running transaction check ---> Package zabbix-web-deps-scl.noarch 0:5.0.47-1.el7 will be installed --> Processing Dependency: rh-php72 for package: zabbix-web-deps-scl-5.0.47-1.el7.noarch --> Processing Dependency: rh-php72-php-bcmath for package: zabbix-web-deps-scl-5.0.47-1.el7.noarch --> Processing Dependency: rh-php72-php-fpm for package: zabbix-web-deps-scl-5.0.47-1.el7.noarch --> Processing Dependency: rh-php72-php-gd for package: zabbix-web-deps-scl-5.0.47-1.el7.noarch --> Processing Dependency: rh-php72-php-ldap for package: zabbix-web-deps-scl-5.0.47-1.el7.noarch --> Processing Dependency: rh-php72-php-mbstring for package: zabbix-web-deps-scl-5.0.47-1.el7.noarch --> Processing Dependency: rh-php72-php-xml for package: zabbix-web-deps-scl-5.0.47-1.el7.noarch ---> Package zabbix-web-mysql-scl.noarch 0:5.0.47-1.el7 will be installed --> Processing Dependency: rh-php72-php-mysqlnd for package: zabbix-web-mysql-scl-5.0.47-1.el7.noarch --> Finished Dependency Resolution Error: Package: zabbix-web-deps-scl-5.0.47-1.el7.noarch (zabbix-frontend) Requires: rh-php72-php-fpm Error: Package: zabbix-web-deps-scl-5.0.47-1.el7.noarch (zabbix-frontend) Requires: rh-php72-php-ldap Error: Package: zabbix-web-deps-scl-5.0.47-1.el7.noarch (zabbix-frontend) Requires: rh-php72-php-xml Error: Package: zabbix-web-deps-scl-5.0.47-1.el7.noarch (zabbix-frontend) Requires: rh-php72-php-mbstring Error: Package: zabbix-web-deps-scl-5.0.47-1.el7.noarch (zabbix-frontend) Requires: rh-php72-php-bcmath Error: Package: zabbix-web-deps-scl-5.0.47-1.el7.noarch (zabbix-frontend) Requires: rh-php72-php-gd Error: Package: zabbix-web-mysql-scl-5.0.47-1.el7.noarch (zabbix-frontend) Requires: rh-php72-php-mysqlnd Error: Package: zabbix-web-deps-scl-5.0.47-1.el7.noarch (zabbix-frontend) Requires: rh-php72 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest为啥
08-01
在安装 Zabbix 前端组件时,如果遇到依赖错误,通常是因为系统中缺少必要的 PHP 模块或未正确配置软件源。以下是一些针对性的解决方法: ### 检查并配置正确的软件源 在安装 Zabbix 前端组件之前,确保系统中已经配置了正确的软件源。某些情况下,安装失败可能是由于缺少 `centos-release-scl` 包导致的。可以通过以下命令重新安装该源: ```bash yum install centos-release-scl -y ``` ### 安装缺失的 PHP 模块 安装 Zabbix 前端组件时提示的依赖错误,如 `rh-php72-php-fpm`、`rh-php72-php-ldap`、`rh-php72-php-xml` 等,表明系统中缺少这些 PHP 模块。可以使用以下命令安装这些模块: ```bash yum install rh-php72-php-mbstring rh-php72-php-bcmath rh-php72-php-gd rh-php72-php-mysqlnd rh-php72-php-xml rh-php72-php-ldap rh-php72-php-fpm -y ``` ### 安装 Zabbix 前端组件 当所有必要的 PHP 模块都已安装后,可以继续安装 Zabbix 前端组件。使用以下命令进行安装: ```bash yum install zabbix-web-mysql-scl zabbix-web-deps-scl -y ``` ### 配置 PHP 时区 安装完成后,还需要配置 PHP 的时区设置以确保 Zabbix Web 界面能够正常工作。编辑 `/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf` 文件,并设置时区: ```bash php_value[date.timezone] = Asia/Shanghai ``` ### 启动并启用 Zabbix Web 相关服务 配置完成后,需要启动 Zabbix Web 相关的服务,并设置开机启动: ```bash systemctl start rh-php72-php-fpm systemctl enable rh-php72-php-fpm ``` ### 验证安装 最后,验证 Zabbix 前端组件是否已经成功安装,并且所有依赖问题都得到了解决。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值