# AbilityDelegator
AbilityDelegator提供添加用于监视指定ability的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达OnCreate生命周期、设置等待时间等、获取指定ability的生命周期状态、获取当前应用顶部ability、启动指定ability等。
> **说明:**
>
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 使用说明
通过AbilityDelegatorRegistry中[getAbilityDelegator](js-apis-app-ability-abilityDelegatorRegistry.md#abilitydelegatorregistrygetabilitydelegator)方法获取。
```ts
import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
let abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
```
## AbilityDelegator
### addAbilityMonitor9+
addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\): void;
添加AbilityMonitor实例(callback形式)
**系统能力:**SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
| callback | AsyncCallback\ | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
function onAbilityCreateCallback(data) {
console.info('onAbilityCreateCallback');
}
let 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](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\ | 以Promise形式返回。 |
**示例:**
```ts
let abilityDelegator;
function onAbilityCreateCallback(data) {
console.info('onAbilityCreateCallback');
}
let 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](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
| callback | AsyncCallback\ | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
function onAbilityCreateCallback(data) {
console.info('onAbilityCreateCallback');
}
let 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](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\ | 以Promise形式返回。 |
- 示例
```ts
let abilityDelegator;
function onAbilityCreateCallback(data) {
console.info('onAbilityCreateCallback');
}
let 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](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
| callback | AsyncCallback\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
function onAbilityCreateCallback(data) {
console.info('onAbilityCreateCallback');
}
let 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](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
| timeout | number | 否 | 最大等待时间,单位毫秒(ms) |
| callback | AsyncCallback\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
let timeout = 100;
function onAbilityCreateCallback(data) {
console.info('onAbilityCreateCallback');
}
let 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](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
| timeout | number | 否 | 最大等待时间,单位毫秒(ms) |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | -------------------------- |
| Promise\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 以Promise形式返回Ability。 |
**示例:**
```ts
let abilityDelegator;
function onAbilityCreateCallback(data) {
console.info('onAbilityCreateCallback');
}
let 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](js-apis-inner-application-context.md) | 应用[Context](js-apis-inner-application-context.md)。 |
**示例:**
```ts
let abilityDelegator;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
let context = abilityDelegator.getAppContext();
```
### getAbilityState9+
getAbilityState(ability: UIAbility): number;
获取指定ability的生命周期状态
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------- | ---- | --------------- |
| ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是 | 指定Ability对象 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------------------------------------------------ |
| number | 指定ability的生命周期状态。状态枚举值使用[AbilityLifecycleState](js-apis-application-abilityDelegatorRegistry.md#AbilityLifecycleState)。 |
**示例:**
```ts
let abilityDelegator;
let ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info('getCurrentTopAbility callback');
ability = data;
let state = abilityDelegator.getAbilityState(ability);
console.info('getAbilityState ${state}');
});
```
### getCurrentTopAbility9+
getCurrentTopAbility(callback: AsyncCallback\): void;
获取当前应用顶部ability(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------ |
| callback | AsyncCallback\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
let 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\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 以Promise形式返回当前应用顶部ability。 |
**示例:**
```ts
let abilityDelegator;
let 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](js-apis-application-want.md) | 是 | 启动Ability参数 |
| callback | AsyncCallback\ | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
let 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](js-apis-application-want.md) | 是 | 启动Ability参数 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\ | 以Promise形式返回。 |
**示例:**
```ts
let abilityDelegator;
let want = {
bundleName: 'bundleName',
abilityName: 'abilityName'
};
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.startAbility(want).then((data: any) => {
console.info('startAbility promise');
});
```
### doAbilityForeground9+
doAbilityForeground(ability: UIAbility, callback: AsyncCallback\): void;
调度指定ability生命周期状态到Foreground状态(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------------------- |
| ability | UIAbility | 是 | 指定Ability对象 |
| callback | AsyncCallback\ | 是 | 表示指定的回调方法
\- true:成功
\- false:失败 |
**示例:**
```ts
let abilityDelegator;
let 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: UIAbility): Promise\;
调度指定ability生命周期状态到Foreground状态(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | --------------- |
| ability | UIAbility | 是 | 指定Ability对象 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| Promise\ | 以Promise形式返回执行结果。
\- true:成功
\- false:失败 |
**示例:**
```ts
let abilityDelegator;
let 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: UIAbility, callback: AsyncCallback\): void;
调度指定ability生命周期状态到Background状态(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------------------- |
| ability | UIAbility | 是 | 指定Ability对象 |
| callback | AsyncCallback\ | 是 | 表示指定的回调方法
\- true:成功
\- false:失败 |
**示例:**
```ts
let abilityDelegator;
let 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: UIAbility): Promise\;
调度指定ability生命周期状态到Background状态(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | --------------- |
| ability | UIAbility | 是 | 指定Ability对象 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| Promise\ | 以Promise形式返回执行结果。
\- true:成功
\- false:失败 |
**示例:**
```ts
let abilityDelegator;
let 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');
});
});
```
### printSync9+
printSync(msg: string): void;
打印日志信息到单元测试终端控制台
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------- |
| msg | string | 是 | 日志字符串 |
**示例:**
```ts
let abilityDelegator;
let msg = 'msg';
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.printSync(msg);
```
### print
print(msg: string, callback: AsyncCallback\): void;
打印日志信息到单元测试终端控制台(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------ |
| msg | string | 是 | 日志字符串 |
| callback | AsyncCallback\ | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
let 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形式返回。 |
**示例:**
```ts
let abilityDelegator;
let 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](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)> | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
let 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](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)> | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
let cmd = 'cmd';
let 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\<[ShellCmdResult](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)> | 以Promise形式返回Shell命令执行结果[ShellCmdResult](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)对象。 |
**示例:**
```ts
let abilityDelegator;
let cmd = 'cmd';
let 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\ | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
let 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形式返回。 |
**示例:**
```ts
let abilityDelegator;
let msg = 'msg';
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.finishTest(msg, 0).then(() => {
console.info('finishTest promise');
});
```
### addAbilityStageMonitor9+
addAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\): void;
添加一个AbilityStageMonitor对象,用于监视指定abilityStage的生命周期状态更改。(callback形式)
**系统能力:**SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
| callback | AsyncCallback\ | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
let monitor = {
moduleName: 'moduleName',
srcEntrance: 'srcEntrance',
};
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityStageMonitor(monitor, (err : any) => {
console.info('addAbilityStageMonitor callback');
});
```
### addAbilityStageMonitor9+
addAbilityStageMonitor(monitor: AbilityStageMonitor): Promise\;
添加一个AbilityStageMonitor对象,用于监视指定abilityStage的生命周期状态更改。(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\ | 以Promise形式返回。 |
**示例:**
```ts
let abilityDelegator;
let monitor = {
moduleName: 'moduleName',
srcEntrance: 'srcEntrance',
};
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityStageMonitor(monitor).then(() => {
console.info('addAbilityStageMonitor promise');
});
```
### removeAbilityStageMonitor9+
removeAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\): void;
从应用程序内存中删除指定的AbilityStageMonitor对象。(callback形式)
**系统能力:**SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
| callback | AsyncCallback\ | 是 | 表示指定的回调方法 |
**示例:**
```ts
let abilityDelegator;
let monitor = {
moduleName: 'moduleName',
srcEntrance: 'srcEntrance',
};
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityStageMonitor(monitor, (err : any) => {
console.info('removeAbilityStageMonitor callback');
});
```
### removeAbilityStageMonitor9+
removeAbilityStageMonitor(monitor: AbilityStageMonitor): Promise\;
从应用程序内存中删除指定的AbilityStageMonitor对象。(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\ | 以Promise形式返回。 |
**示例:**
```ts
let abilityDelegator;
let monitor = {
moduleName: 'moduleName',
srcEntrance: 'srcEntrance',
};
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityStageMonitor(monitor).then(() => {
console.info('removeAbilityStageMonitor promise');
});
```
### waitAbilityStageMonitor9+
waitAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\): void;
等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(callback形式)
**系统能力:**SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
| callback | AsyncCallback\ | 是 | 成功返回AbilityStage对象,失败返回空。 |
**示例:**
```ts
let abilityDelegator;
function onAbilityCreateCallback(data) {
console.info('onAbilityCreateCallback');
}
let monitor = {
moduleName: 'moduleName',
srcEntrance: 'srcEntrance',
};
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityStageMonitor(monitor, (err : any, data : any) => {
console.info('waitAbilityStageMonitor callback');
});
```
### waitAbilityStageMonitor9+
waitAbilityStageMonitor(monitor: AbilityStageMonitor, timeout?: number): Promise\;
等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
| timeout | number | 否 | 超时最大等待时间,以毫秒为单位。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\ | 成功返回AbilityStage对象,失败返回空。 |
**示例:**
```ts
let abilityDelegator;
function onAbilityCreateCallback(data) {
console.info('onAbilityCreateCallback');
}
let monitor = {
moduleName: 'moduleName',
srcEntrance: 'srcEntrance',
};
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityStageMonitor(monitor).then((data : any) => {
console.info('waitAbilityStageMonitor promise');
});
```
### waitAbilityStageMonitor9+
waitAbilityStageMonitor(monitor: AbilityStageMonitor, timeout: number, callback: AsyncCallback\): void;
等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是 | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
| timeout | number | 否 | 超时最大等待时间,以毫秒为单位。 |
| callback | AsyncCallback\ | 是 | 成功返回AbilityStage对象,失败返回空。 |
**示例:**
```ts
let abilityDelegator;
let timeout = 100;
function onAbilityCreateCallback(data) {
console.info('onAbilityCreateCallback');
}
let monitor = {
moduleName: 'moduleName',
srcEntrance: 'srcEntrance',
};
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityStageMonitor(monitor, timeout, (err : any, data : any) => {
console.info('waitAbilityStageMonitor callback');
});
```