电子发烧友网

电脑版
提示:原网页已由神马搜索转码, 内容由www.elecfans.com提供.
会员中心
创作中心
发布

鸿蒙开发接口Ability框架:【AbilityDelegator】

jf_46214456来源:jf_46214456作者:jf_462144562024-05-16 16:48692次阅读
1

AbilityDelegator

AbilityDelegator提供添加用于监视指定能力的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达OnCreate生命周期、设置等待时间等、获取指定ability的生命周期状态、获取当前应用顶部ability、启动指定ability等。

说明:
开发前请熟悉鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
本模块首批接口从APIversion 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

使用说明

通过AbilityDelegatorRegistry中getAbilityDelegator方法获取。

import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
var abilityDelegator;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();

AbilityDelegator

addAbilityMonitor9+

addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback): void

添加AbilityMonitor实例(callback形式)

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

参数

参数名
类型
必填说明
说明
monitor
[AbilityMonitor]
[AbilityMonitor]实例
callback
AsyncCallback
表示指定的回调方法

示例:

var abilityDelegator;function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityMonitor(monitor, (err :
any) = > {
console.info("addAbilityMonitor callback");
});

addAbilityMonitor9+

addAbilityMonitor(monitor: AbilityMonitor): Promise

添加AbilityMonitor实例(promise形式)

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

参数:

参数名
类型
必填
说明
monitor
[AbilityMonitor]
[AbilityMonitor]实例

返回值:

类型
说明
Promise
以Promise形式返回。

示例:

var abilityDelegator;function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityMonitor(monitor).then(() = > {
console.info("addAbilityMonitor promise");
});

removeAbilityMonitor9+

removeAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback): void

删除已经添加的AbilityMonitor实例(callback形式)

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

参数:

参数名
类型
必填
说明
monitor
[AbilityMonitor]
[AbilityMonitor]实例
callback
AsyncCallback
表示指定的回调方法

示例:

var abilityDelegator;function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityMonitor(monitor, (err :
any) = > {
console.info("removeAbilityMonitor callback");
});

removeAbilityMonitor9+

removeAbilityMonitor(monitor: AbilityMonitor): Promise

删除已经添加的AbilityMonitor实例(promise形式)

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

参数:

名称
类型
必填
说明
monitor
[AbilityMonitor]
[AbilityMonitor]实例

返回值:

类型
说明
Promise
以Promise形式返回。
  • 示例
var abilityDelegator;function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityMonitor(monitor).then(() = > {
console.info("removeAbilityMonitor promise");
});

waitAbilityMonitor9+

waitAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback): void

等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式)

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

参数:

参数名
类型
必填
说明
monitor
[AbilityMonitor]
[AbilityMonitor]实例
callback
AsyncCallback[Ability]
表示指定的回调方法

示例:

var abilityDelegator;function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor, (err :
any, data : any) = > {
console.info("waitAbilityMonitor callback");
});

waitAbilityMonitor9+

waitAbilityMonitor(monitor: AbilityMonitor, timeout: number, callback: AsyncCallback): void

设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式)

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

参数:

参数名
类型
必填
说明
monitor
[AbilityMonitor]
[AbilityMonitor]实例
timeout
number
最大等待时间,单位毫秒(ms)
callback
AsyncCallback[Ability]
表示指定的回调方法

示例:

var abilityDelegator;var timeout = 100;function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor, timeout, (err :
any, data : any) = > {
console.info("waitAbilityMonitor callback");
});

waitAbilityMonitor9+

waitAbilityMonitor(monitor: AbilityMonitor, timeout?: number): Promise

设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(promise形式)

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

参数:

参数名
类型
必填
说明
monitor
[AbilityMonitor]
[AbilityMonitor]实例
timeout
number
最大等待时间,单位毫秒(ms)

返回值:

类型
说明
Promise[Ability]
以Promise形式返回Ability。

示例:

var abilityDelegator;function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor).then((data :
any) = > {
console.info("waitAbilityMonitor promise");
});

getAppContext9+

getAppContext(): Context

获取应用Context

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

返回值:

类型
说明
[Context]
应用[Context]。

示例:

var abilityDelegator;abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();var context = abilityDelegator.getAppContext();

getAbilityState9+

getAbilityState(ability: Ability): number

获取指定ability的生命周期状态

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

参数:

参数名
类型
必填
说明
ability
[Ability]
指定Ability对象

返回值:

类型
说明
number
指定ability的生命周期状态。状态枚举值使用[AbilityLifecycleState]。

示例:

var abilityDelegator;var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err :
any, data : any) = > {
console.info("getCurrentTopAbility callback");
ability = data;
var state = abilityDelegator.getAbilityState(ability);
console.info("getAbilityState" + state);
});

getCurrentTopAbility9+

getCurrentTopAbility(callback: AsyncCallback): void

获取当前应用顶部ability(callback形式)

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

参数:

参数名
类型
必填
说明
callback
AsyncCallback[Ability]
表示指定的回调方法

示例:

var abilityDelegator;var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err :
any, data : any) = > {
console.info("getCurrentTopAbility callback");
ability = data;
});

getCurrentTopAbility9+

getCurrentTopAbility(): Promise

获取当前应用顶部ability(promise形式)

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

返回值:

类型
说明
Promise[Ability]
以Promise形式返回当前应用顶部ability。

示例:

var abilityDelegator;var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility().then((data :
any) = > {
console.info("getCurrentTopAbility promise");
ability = data;
});

startAbility9+

startAbility(want: Want, callback: AsyncCallback): void

启动指定ability(callback形式)

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

参数:

参数名
类型
必填
说明
want
[Want]
启动Ability参数
callback
AsyncCallback
表示指定的回调方法

示例:

var abilityDelegator;var want = {
bundleName: "bundleName",
abilityName: "abilityName" }; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.startAbility(want, (err : any, data : any) = > {
console.info("startAbility callback");
});

startAbility9+

startAbility(want: Want): Promise

启动指定ability(promise形式)

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

参数:

参数名
类型
必填
说明
want
[Want]
启动Ability参数

返回值:

类型
说明
Promise
以Promise形式返回。

示例:

var abilityDelegator;var want = {
bundleName: "bundleName",
abilityName: "abilityName" }; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.startAbility(want).then((data: any) = > {
console.info("startAbility promise");
});

doAbilityForeground9+

doAbilityForeground(ability: Ability, callback: AsyncCallback): void

调度指定ability生命周期状态到Foreground状态(callback形式)

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

参数:

参数名
类型
必填
说明
ability
Ability
指定Ability对象
callback
AsyncCallback
表示指定的回调方法 - true:成功 - false:失败

示例:

var abilityDelegator;var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err :
any, data : any) = > {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityForeground(ability, (err :
any, data : any) = > {
console.info("doAbilityForeground callback");
});
});

doAbilityForeground9+

doAbilityForeground(ability: Ability): Promise

调度指定ability生命周期状态到Foreground状态(promise形式)

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

参数:

参数名
类型
必填
说明
ability
Ability
指定Ability对象

返回值:

类型
说明
Promise
以Promise形式返回执行结果。 - true:成功 - false:失败

示例:

var abilityDelegator;var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err :
any, data : any) = > {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityForeground(ability).then((data :
any) = > {
console.info("doAbilityForeground promise");
});
});

doAbilityBackground9+

doAbilityBackground(ability: Ability, callback: AsyncCallback): void

调度指定ability生命周期状态到Background状态(callback形式)

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

参数:

参数名
类型
必填
说明
ability
Ability
指定Ability对象
callback
AsyncCallback
表示指定的回调方法 - true:成功 - false:失败

示例:

var abilityDelegator;var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err :
any, data : any) = > {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityBackground(ability, (err :
any, data : any) = > {
console.info("doAbilityBackground callback");
});
});

doAbilityBackground9+

doAbilityBackground(ability: Ability): Promise

调度指定ability生命周期状态到Background状态(promise形式)

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

参数:

参数名
类型
必填
说明
ability
Ability
指定Ability对象

返回值:

类型
说明
Promise
以Promise形式返回执行结果。 - true:成功 - false:失败

示例:

var abilityDelegator;var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err :
any, data : any) = > {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityBackground(ability).then((data :
any) = > {
console.info("doAbilityBackground promise");
});
});

print

print(msg: string, callback: AsyncCallback): void

打印日志信息到单元测试终端控制台(callback形式)

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

参数:

参数名
类型
必填
说明
msg
string
日志字符串
callback
AsyncCallback
表示指定的回调方法

示例:

var abilityDelegator;var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.
print(msg, (err : any) = > {
console.info("print callback");
});

print

print(msg: string): Promise

打印日志信息到单元测试终端控制台(promise形式)

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

参数:

参数名
类型
必填
说明
msg
string
日志字符串

返回值:

类型
说明
Promise
以Promise形式返回。

示例:

var abilityDelegator;var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.
print(msg).then(() = > {
console.info("print promise");
});

executeShellCommand

executeShellCommand(cmd: string, callback: AsyncCallback): void

执行指定的shell命令(callback形式)

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

参数:

参数名
类型
必填
说明
cmd
string
shell命令字符串
callback
AsyncCallback[ShellCmdResult]
表示指定的回调方法

示例:

var abilityDelegator;var cmd = "cmd";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.executeShellCommand(cmd, (err :
any, data : any) = > {
console.info("executeShellCommand callback");
});

executeShellCommand

executeShellCommand(cmd: string, timeoutSecs: number, callback: AsyncCallback): void

指定超时时间,并执行指定的shell命令(callback形式)

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

参数:

参数名
类型
必填
说明
cmd
string
shell命令字符串
timeoutSecs
number
设定命令超时时间,单位秒(s)
callback
AsyncCallback[ShellCmdResult]
表示指定的回调方法

示例:

var abilityDelegator;var cmd = "cmd";var timeout = 100;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.executeShellCommand(cmd, timeout, (err :
any, data : any) = > {
console.info("executeShellCommand callback");
});

executeShellCommand

executeShellCommand(cmd: string, timeoutSecs?: number): Promise

指定超时时间,并执行指定的shell命令(promise形式)

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

参数:

参数名
类型
必填
说明
cmd
string
shell命令字符串
timeoutSecs
number
设定命令超时时间,单位秒(s)

返回值:

类型
说明
以Promise形式返回Shell命令执行结果[ShellCmdResult]对象。

示例:

var abilityDelegator;var cmd = "cmd";var timeout = 100;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.executeShellCommand(cmd, timeout).then((data :
any) = > {
console.info("executeShellCommand promise");
});

finishTest9+

finishTest(msg: string, code: number, callback: AsyncCallback): void

结束测试并打印日志信息到单元测试终端控制台(callback形式)

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

参数:

参数名
类型
必填
说明
msg
string
日志字符串
code
number
日志码
callback
AsyncCallback
表示指定的回调方法

示例:

var abilityDelegator;var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.finishTest(msg,
0, (err : any) = > {
console.info("finishTest callback");
});

finishTest9+

finishTest(msg: string, code: number): Promise

结束测试并打印日志信息到单元测试终端控制台(promise形式)

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

参数:

参数名
类型
必填
说明
msg
string
日志字符串
code
number
日志码

返回值:

类型
说明
Promise
以Promise形式返回。

搜狗高速浏览器截图20240326151450.png

示例:

var abilityDelegator;var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.finishTest(msg,
0).then(() = > {
console.info("finishTest promise");
});

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
  • 框架
  • 鸿蒙
0人收藏
1
  • jf_373258371

评论

jf_37325837
.;9z.0
2024-05-26 14:49 回复

发布评论请先 登录

相关推荐

鸿蒙开发接口Ability框架:【@ohos.application.Ability(Ability)】

Ability模块提供对Ability生命周期、上下文环境等调用管理的能力,包括Ability创建、销毁、转储客户端信息等。
04-30 17:42 1932次阅读

鸿蒙开发接口Ability框架:【@ohos.ability.featureAbility (FeatureAbility模块)】

FeatureAbility模块提供带有UI设计与用户交互的能力,包括启动新的ability、获取dataAbilityHelper、设置此Page Ability、获取当前Ability对应的窗口,连接服务等。
05-06 16:31 655次阅读

鸿蒙开发接口Ability框架:【@ohos.application.missionManager (missionManager)】

表示Ability对应任务信息的枚举。
05-08 09:19 672次阅读

鸿蒙开发接口Ability框架:【@ohos.ability.particleAbility (particleAbility模块)】

particleAbility模块提供了Service类型Ability的能力,包括启动、停止指定的particleAbility,获取dataAbilityHelper,连接、断开当前Ability与指定ServiceAbility等。
05-09 10:21 465次阅读

鸿蒙开发接口Ability框架:【(uriPermissionManager)】

本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
05-10 17:46 563次阅读

鸿蒙开发接口Ability框架:【 (Context模块)】

Context模块提供了ability或application的上下文的能力,包括允许访问特定于应用程序的资源、请求和验证权限等。
05-13 16:04 334次阅读

鸿蒙开发接口Ability框架:【(AbilityContext)】

AbilityContext是Ability的上下文环境,继承自Context。
05-13 09:26 577次阅读

鸿蒙开发接口Ability框架:【(AbilityDelegator)】

AbilityDelegator提供添加用于监视指定能力的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达
05-13 17:58 660次阅读

鸿蒙开发接口Ability框架:【AbilityRunningInfo】

AbilityRunningInfo模块提供对Ability运行的相关信息和状态进行设置和查询的能力。
05-14 16:02 522次阅读

鸿蒙Ability开发-Stage模型下Ability的创建和使用

); hilog.info(ENTRY_ABILITY_DOMAIN, TAG, \'%{public}s\', \'AbilityonBackground\'); } } 本文内容是鸿蒙
01-08 15:34

HarmonyOS应用开发-Page Ability启动Service Ability

Page Ablity响应交互,从而调用Service Ability鸿蒙开发中最常用的交互方式,在Page Ablity使用startAbility(intent)启动Service
11-03 10:32

鸿蒙开发接口Ability框架:【AbilityDelegatorArgs】

AbilityDelegatorArgs模块提供在应用程序启动期间,用于存储已注册的AbilityDelegator和AbilityDelegatorArgs对象的全局寄存器的能力。
05-14 09:49 130次阅读

鸿蒙开发接口Ability框架:【ApplicationContext】

ApplicationContext模块提供开发者应用级别的的上下文的能力,包括提供注册及取消注册应用内组件生命周期的监听接口
05-16 11:51 336次阅读

鸿蒙开发接口Ability框架:【AbilityRunningInfo】

AbilityRunningInfo模块提供对Ability运行的相关信息和状态进行设置和查询的能力。
05-17 17:12 161次阅读

鸿蒙AbilityKit(程序框架服务)【Ability与ServiceExtensionAbility通信】

本示例展示通过[IDL的方式]和 [@ohos.rpc] 等接口实现了Ability与ServiceExtensionAbility之间的通信。
06-05 09:28 209次阅读

推荐专栏

更多