AbilityDelegator
AbilityDelegator提供添加用于监视指定能力的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达OnCreate生命周期、设置等待时间等、获取指定ability的生命周期状态、获取当前应用顶部ability、启动指定ability等。
说明:
本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
使用说明
开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
通过AbilityDelegatorRegistry中getAbilityDelegator方法获取。
import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
var abilityDelegator;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
AbilityDelegator
addAbilityMonitor9+
addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback<void>): void
添加AbilityMonitor实例(callback形式)
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填说明 | 说明 |
---|---|---|---|
monitor | AbilityMonitor | 是 | AbilityMonitor实例 |
callback | AsyncCallback<void> | 是 | 表示指定的回调方法 |
示例:
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<void>
添加AbilityMonitor实例(promise形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
monitor | AbilityMonitor | 是 | AbilityMonitor实例 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 以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>): void
删除已经添加的AbilityMonitor实例(callback形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
monitor | AbilityMonitor | 是 | AbilityMonitor实例 |
callback | AsyncCallback<void> | 是 | 表示指定的回调方法 |
示例:
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<void>
删除已经添加的AbilityMonitor实例(promise形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
monitor | AbilityMonitor | 是 | AbilityMonitor实例 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 以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<Ability>): 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<Ability>): 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<Ability>
设置等待时间,等待与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<Ability>): 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>
获取当前应用顶部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>): void
启动指定ability(callback形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
want | Want | 是 | 启动Ability参数 |
callback | AsyncCallback<void> | 是 | 表示指定的回调方法 |
示例:
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<void>
启动指定ability(promise形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
want | Want | 是 | 启动Ability参数 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 以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<boolean>): void
调度指定ability生命周期状态到Foreground状态(callback形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
ability | Ability | 是 | 指定Ability对象 |
callback | AsyncCallback<boolean> | 是 | 表示指定的回调方法 - 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<boolean>
调度指定ability生命周期状态到Foreground状态(promise形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
ability | Ability | 是 | 指定Ability对象 |
返回值:
类型 | 说明 |
---|---|
Promise<boolean> | 以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<boolean>): void
调度指定ability生命周期状态到Background状态(callback形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
ability | Ability | 是 | 指定Ability对象 |
callback | AsyncCallback<boolean> | 是 | 表示指定的回调方法 - 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<boolean>
调度指定ability生命周期状态到Background状态(promise形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
ability | Ability | 是 | 指定Ability对象 |
返回值:
类型 | 说明 |
---|---|
Promise<boolean> | 以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(msg: string, callback: AsyncCallback<void>): void
打印日志信息到单元测试终端控制台(callback形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
msg | string | 是 | 日志字符串 |
callback | AsyncCallback<void> | 是 | 表示指定的回调方法 |
示例:
var abilityDelegator;
var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.print(msg, (err : any) => {
console.info("print callback");
});
print(msg: string): Promise<void>
打印日志信息到单元测试终端控制台(promise形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
msg | string | 是 | 日志字符串 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 以Promise形式返回。 |
示例:
var abilityDelegator;
var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.print(msg).then(() => {
console.info("print promise");
});
executeShellCommand
executeShellCommand(cmd: string, callback: AsyncCallback<ShellCmdResult>): 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<ShellCmdResult>): 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<ShellCmdResult>
指定超时时间,并执行指定的shell命令(promise形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
cmd | string | 是 | shell命令字符串 |
timeoutSecs | number | 否 | 设定命令超时时间,单位秒(s) |
返回值:
类型 | 说明 |
---|---|
Promise<ShellCmdResult> | 以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>): void
结束测试并打印日志信息到单元测试终端控制台(callback形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
msg | string | 是 | 日志字符串 |
code | number | 是 | 日志码 |
callback | AsyncCallback<void> | 是 | 表示指定的回调方法 |
示例:
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<void>
结束测试并打印日志信息到单元测试终端控制台(promise形式)
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
msg | string | 是 | 日志字符串 |
code | number | 是 | 日志码 |
返回值:
示例:
var abilityDelegator;
var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.finishTest(msg, 0).then(() => {
console.info("finishTest promise");
});
最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。
高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》
针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细资料鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
《鸿蒙 (OpenHarmony)开发学习视频》
《鸿蒙生态应用开发V2.0白皮书》
《鸿蒙 (OpenHarmony)开发基础到实战手册》
获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
OpenHarmony北向、南向开发环境搭建
《鸿蒙开发基础》
-
ArkTS语言
-
安装DevEco Studio
-
运用你的第一个ArkTS应用
-
ArkUI声明式UI开发
-
.……
《鸿蒙开发进阶》
-
Stage模型入门
-
网络管理
-
数据管理
-
电话服务
-
分布式应用开发
-
通知与窗口管理
-
多媒体技术
-
安全技能
-
任务管理
-
WebGL
-
国际化开发
-
应用测试
-
DFX面向未来设计
-
鸿蒙系统移植和裁剪定制
-
……
《鸿蒙开发实战》
-
ArkTS实践
-
UIAbility应用
-
网络案例
-
……
获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
总结
鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!