• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# AbilityDelegator
2
3AbilityDelegator提供添加用于监视指定ability的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达OnCreate生命周期、设置等待时间等、获取指定ability的生命周期状态、获取当前应用顶部ability、启动指定ability等。
4
5> **说明:**
6>
7> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```ts
12import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
13```
14
15## 使用说明
16
17通过AbilityDelegatorRegistry中[getAbilityDelegator](js-apis-app-ability-abilityDelegatorRegistry.md#abilitydelegatorregistrygetabilitydelegator)方法获取。此接口只能在测试环境下使用。
18```ts
19import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
20```
21
22## AbilityDelegator
23
24### addAbilityMonitor<sup>9+</sup>
25
26addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<void>): void;
27
28添加AbilityMonitor实例(callback形式)
29
30**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
31
32**参数:**
33
34| 参数名   | 类型                                                         | 必填 | 说明                                                         |
35| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
36| monitor  | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是       | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
37| callback | AsyncCallback\<void>                                         | 是       | 表示指定的回调方法                                           |
38
39**错误码**:
40
41| 错误码ID | 错误信息 |
42| ------- | -------- |
43| 16000100 | AddAbilityMonitor failed. |
44
45以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
46
47**示例:**
48
49```ts
50import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
51import UIAbility from '@ohos.app.ability.UIAbility';
52import { BusinessError } from '@ohos.base';
53
54let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
55
56function onAbilityCreateCallback(data: UIAbility) {
57    console.info(`onAbilityCreateCallback, data: ${JSON.stringify(data)}`);
58}
59
60let monitor: AbilityDelegatorRegistry.AbilityMonitor = {
61    abilityName: 'abilityname',
62    onAbilityCreate: onAbilityCreateCallback
63};
64abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
65abilityDelegator.addAbilityMonitor(monitor, (error: BusinessError) => {
66    console.error(`addAbilityMonitor fail, error: ${JSON.stringify(error)}`);
67});
68```
69
70### addAbilityMonitor<sup>9+</sup>
71
72addAbilityMonitor(monitor: AbilityMonitor): Promise\<void>;
73
74添加AbilityMonitor实例(promise形式)
75
76**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
77
78**参数:**
79
80| 参数名  | 类型                                                         | 必填 | 说明                                                         |
81| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
82| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是   | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
83
84**返回值:**
85
86| 类型           | 说明                |
87| -------------- | ------------------- |
88| Promise\<void> | 以Promise形式返回。 |
89
90**错误码**:
91
92| 错误码ID | 错误信息 |
93| ------- | -------- |
94| 16000100 | AddAbilityMonitor failed. |
95
96以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
97
98**示例:**
99
100```ts
101import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
102import UIAbility from '@ohos.app.ability.UIAbility';
103
104let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
105
106function onAbilityCreateCallback(data: UIAbility) {
107    console.info('onAbilityCreateCallback');
108}
109
110let monitor: AbilityDelegatorRegistry.AbilityMonitor = {
111    abilityName: 'abilityname',
112    onAbilityCreate: onAbilityCreateCallback
113};
114abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
115abilityDelegator.addAbilityMonitor(monitor).then(() => {
116    console.info('addAbilityMonitor promise');
117});
118```
119
120### addAbilityMonitorSync<sup>10+</sup>
121
122addAbilityMonitorSync(monitor: AbilityMonitor): void;
123
124同步添加AbilityMonitor实例
125
126**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
127
128**参数:**
129
130| 参数名  | 类型                                                         | 必填 | 说明                                                         |
131| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
132| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是   | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
133
134**错误码**:
135
136| 错误码ID | 错误信息 |
137| ------- | -------- |
138| 16000100 | AddAbilityMonitor failed. |
139| 401  | If the input parameter is not valid parameter. |
140
141以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
142
143**示例:**
144
145```ts
146let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
147
148let monitor = {
149    abilityName: 'abilityname',
150    onAbilityCreate: onAbilityCreateCallback
151};
152
153abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
154abilityDelegator.addAbilityMonitorSync(monitor);
155```
156
157### removeAbilityMonitor<sup>9+</sup>
158
159removeAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<void>): void;
160
161删除已经添加的AbilityMonitor实例(callback形式)
162
163**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
164
165**参数:**
166
167| 参数名   | 类型                                                         | 必填 | 说明                                                         |
168| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
169| monitor  | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是   | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
170| callback | AsyncCallback\<void>                                         | 是   | 表示指定的回调方法                                           |
171
172**错误码**:
173
174| 错误码ID | 错误信息 |
175| ------- | -------- |
176| 16000100 | RemoveAbilityMonitor failed. |
177
178以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
179
180**示例:**
181
182```ts
183import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
184import UIAbility from '@ohos.app.ability.UIAbility';
185import { BusinessError } from '@ohos.base';
186
187let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
188
189function onAbilityCreateCallback(data: UIAbility) {
190    console.info('onAbilityCreateCallback');
191}
192
193let monitor: AbilityDelegatorRegistry.AbilityMonitor = {
194    abilityName: 'abilityname',
195    onAbilityCreate: onAbilityCreateCallback
196};
197
198abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
199abilityDelegator.removeAbilityMonitor(monitor, (error: BusinessError) => {
200    console.error(`removeAbilityMonitor fail, error: ${JSON.stringify(error)}`);
201});
202```
203
204### removeAbilityMonitor<sup>9+</sup>
205
206removeAbilityMonitor(monitor: AbilityMonitor): Promise\<void>;
207
208删除已经添加的AbilityMonitor实例(promise形式)
209
210**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
211
212**参数:**
213
214| 参数名    | 类型                                                         | 必填 | 说明                                                         |
215| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
216| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是   | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
217
218**返回值:**
219
220| 类型           | 说明                |
221| -------------- | ------------------- |
222| Promise\<void> | 以Promise形式返回。 |
223
224**错误码**:
225
226| 错误码ID | 错误信息 |
227| ------- | -------- |
228| 16000100 | RemoveAbilityMonitor failed. |
229
230以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
231
232- 示例
233
234```ts
235import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
236import UIAbility from '@ohos.app.ability.UIAbility';
237
238let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
239
240function onAbilityCreateCallback(data: UIAbility) {
241    console.info('onAbilityCreateCallback');
242}
243
244let monitor: AbilityDelegatorRegistry.AbilityMonitor = {
245    abilityName: 'abilityname',
246    onAbilityCreate: onAbilityCreateCallback
247};
248
249abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
250abilityDelegator.removeAbilityMonitor(monitor).then(() => {
251    console.info('removeAbilityMonitor promise');
252});
253```
254
255### removeAbilityMonitorSync<sup>10+</sup>
256
257removeAbilityMonitorSync(monitor: AbilityMonitor): void;
258
259同步删除已经添加的AbilityMonitor实例
260
261**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
262
263**参数:**
264
265| 参数名   | 类型                                                         | 必填 | 说明                                                         |
266| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
267| monitor  | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是   | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
268
269**错误码**:
270
271| 错误码ID | 错误信息 |
272| ------- | -------- |
273| 16000100 | RemoveAbilityMonitor failed. |
274| 401  | If the input parameter is not valid parameter. |
275
276以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
277
278**示例:**
279
280```ts
281let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
282
283let monitor = {
284    abilityName: 'abilityname',
285    onAbilityCreate: onAbilityCreateCallback
286};
287
288abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
289abilityDelegator.removeAbilityMonitorSync(monitor);
290```
291
292### waitAbilityMonitor<sup>9+</sup>
293
294waitAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<UIAbility>): void;
295
296等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式)
297
298**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
299
300**参数:**
301
302| 参数名   | 类型                                                         | 必填 | 说明                                                         |
303| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
304| monitor  | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是   | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
305| callback | AsyncCallback\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 是   | 表示指定的回调方法                                           |
306
307**错误码**:
308
309| 错误码ID | 错误信息 |
310| ------- | -------- |
311| 16000100 | WaitAbilityMonitor failed. |
312
313以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
314
315**示例:**
316
317```ts
318import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
319import UIAbility from '@ohos.app.ability.UIAbility';
320import { BusinessError } from '@ohos.base';
321
322let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
323
324function onAbilityCreateCallback(data: UIAbility) {
325    console.info('onAbilityCreateCallback');
326}
327
328let monitor: AbilityDelegatorRegistry.AbilityMonitor = {
329    abilityName: 'abilityname',
330    onAbilityCreate: onAbilityCreateCallback
331};
332
333abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
334abilityDelegator.waitAbilityMonitor(monitor, (error : BusinessError, data : UIAbility) => {
335    if (error) {
336        console.error(`waitAbilityMonitor fail, error: ${JSON.stringify(error)}`);
337    } else {
338        console.log(`waitAbilityMonitor success, data: ${JSON.stringify(data)}`);
339    }
340});
341```
342
343### waitAbilityMonitor<sup>9+</sup>
344
345waitAbilityMonitor(monitor: AbilityMonitor, timeout: number, callback: AsyncCallback\<UIAbility>): void;
346
347设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式)
348
349**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
350
351**参数:**
352
353| 参数名   | 类型                                                         | 必填 | 说明                                                         |
354| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
355| monitor  | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是   | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
356| timeout  | number                                                       | 是   | 最大等待时间,单位毫秒(ms)                                 |
357| callback | AsyncCallback\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 是   | 表示指定的回调方法                                           |
358
359**错误码**:
360
361| 错误码ID | 错误信息 |
362| ------- | -------- |
363| 16000100 | WaitAbilityMonitor failed. |
364
365以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
366
367**示例:**
368
369```ts
370import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
371import UIAbility from '@ohos.app.ability.UIAbility';
372import { BusinessError } from '@ohos.base';
373
374let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
375let timeout = 100;
376
377function onAbilityCreateCallback(data: UIAbility) {
378    console.info('onAbilityCreateCallback');
379}
380
381let monitor: AbilityDelegatorRegistry.AbilityMonitor = {
382    abilityName: 'abilityname',
383    onAbilityCreate: onAbilityCreateCallback
384};
385
386abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
387abilityDelegator.waitAbilityMonitor(monitor, timeout, (error : BusinessError, data : UIAbility) => {
388    if (error && error.code !== 0) {
389        console.error(`waitAbilityMonitor fail, error: ${JSON.stringify(error)}`);
390    } else {
391        console.log(`waitAbilityMonitor success, data: ${JSON.stringify(data)}`);
392    }
393});
394```
395
396
397
398### waitAbilityMonitor<sup>9+</sup>
399
400waitAbilityMonitor(monitor: AbilityMonitor, timeout?: number): Promise\<UIAbility>;
401
402设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(promise形式)
403
404**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
405
406**参数:**
407
408| 参数名  | 类型                                                         | 必填 | 说明                                                         |
409| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
410| monitor | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor) | 是   | [AbilityMonitor](js-apis-inner-application-abilityMonitor.md#AbilityMonitor)实例 |
411| timeout | number                                                       | 否   | 最大等待时间,单位毫秒(ms)                                 |
412
413**返回值:**
414
415| 类型                                                        | 说明                       |
416| ----------------------------------------------------------- | -------------------------- |
417| Promise\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 以Promise形式返回Ability。 |
418
419**错误码**:
420
421| 错误码ID | 错误信息 |
422| ------- | -------- |
423| 16000100 | WaitAbilityMonitor failed. |
424
425以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
426
427**示例:**
428
429```ts
430import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
431import UIAbility from '@ohos.app.ability.UIAbility';
432
433let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
434
435function onAbilityCreateCallback(data: UIAbility) {
436    console.info('onAbilityCreateCallback');
437}
438
439let monitor: AbilityDelegatorRegistry.AbilityMonitor = {
440    abilityName: 'abilityname',
441    onAbilityCreate: onAbilityCreateCallback
442};
443
444abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
445abilityDelegator.waitAbilityMonitor(monitor).then((data : BusinessError) => {
446    console.info('waitAbilityMonitor promise');
447});
448```
449
450### getAppContext<sup>9+</sup>
451
452getAppContext(): Context;
453
454获取应用Context
455
456**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
457
458**返回值:**
459
460| 类型                                  | 说明                                        |
461| ------------------------------------- | ------------------------------------------- |
462| [Context](js-apis-inner-application-context.md) | 应用[Context](js-apis-inner-application-context.md)。 |
463
464**示例:**
465
466```ts
467import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
468
469let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
470
471abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
472let context = abilityDelegator.getAppContext();
473```
474
475### getAbilityState<sup>9+</sup>
476
477getAbilityState(ability: UIAbility): number;
478
479获取指定ability的生命周期状态
480
481**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
482
483**参数:**
484
485| 参数名  | 类型                                              | 必填 | 说明            |
486| ------- | ------------------------------------------------- | ---- | --------------- |
487| ability | [UIAbility](js-apis-app-ability-uiAbility.md) | 是   | 指定Ability对象 |
488
489**返回值:**
490
491| 类型   | 说明                                                         |
492| ------ | ------------------------------------------------------------ |
493| number | 指定ability的生命周期状态。状态枚举值使用[AbilityLifecycleState](js-apis-application-abilityDelegatorRegistry.md#AbilityLifecycleState)。 |
494
495**示例:**
496
497```ts
498import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
499import UIAbility from '@ohos.app.ability.UIAbility';
500import { BusinessError } from '@ohos.base';
501
502let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
503let ability: UIAbility;
504
505abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
506abilityDelegator.getCurrentTopAbility((err : BusinessError, data : UIAbility) => {
507    console.info('getCurrentTopAbility callback');
508    ability = data;
509    let state = abilityDelegator.getAbilityState(ability);
510    console.info('getAbilityState ${state}');
511});
512```
513
514### getCurrentTopAbility<sup>9+</sup>
515
516getCurrentTopAbility(callback: AsyncCallback\<UIAbility>): void;
517
518获取当前应用顶部ability(callback形式)
519
520**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
521
522**参数:**
523
524| 参数名   | 类型                                                         | 必填 | 说明               |
525| -------- | ------------------------------------------------------------ | ---- | ------------------ |
526| callback | AsyncCallback\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 是   | 表示指定的回调方法 |
527
528**错误码**:
529
530| 错误码ID | 错误信息 |
531| ------- | -------- |
532| 16000100 | GetCurrentTopAbility failed. |
533
534以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
535
536**示例:**
537
538```ts
539import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
540import UIAbility from '@ohos.app.ability.UIAbility';
541import { BusinessError } from '@ohos.base';
542
543let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
544let ability: UIAbility;
545
546abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
547abilityDelegator.getCurrentTopAbility((err : BusinessError, data : UIAbility) => {
548    console.info('getCurrentTopAbility callback');
549    ability = data;
550});
551```
552
553### getCurrentTopAbility<sup>9+</sup>
554
555getCurrentTopAbility(): Promise\<UIAbility>;
556
557获取当前应用顶部ability(promise形式)
558
559**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
560
561**返回值:**
562
563| 类型                                                        | 说明                                   |
564| ----------------------------------------------------------- | -------------------------------------- |
565| Promise\<[UIAbility](js-apis-app-ability-uiAbility.md)> | 以Promise形式返回当前应用顶部ability。 |
566
567**错误码**:
568
569| 错误码ID | 错误信息 |
570| ------- | -------- |
571| 16000100 | GetCurrentTopAbility failed. |
572
573以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
574
575**示例:**
576
577```ts
578import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
579import UIAbility from '@ohos.app.ability.UIAbility';
580
581let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
582let ability: UIAbility;
583
584abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
585abilityDelegator.getCurrentTopAbility().then((data : UIAbility) => {
586    console.info('getCurrentTopAbility promise');
587    ability = data;
588});
589```
590
591### startAbility<sup>9+</sup>
592
593startAbility(want: Want, callback: AsyncCallback\<void>): void;
594
595启动指定ability(callback形式)
596
597**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
598
599**参数:**
600
601| 参数名   | 类型                                   | 必填 | 说明               |
602| -------- | -------------------------------------- | ---- | ------------------ |
603| want     | [Want](js-apis-app-ability-want.md) | 是   | 启动Ability参数    |
604| callback | AsyncCallback\<void>                   | 是   | 表示指定的回调方法 |
605
606**错误码**:
607
608| 错误码ID | 错误信息 |
609| ------- | -------- |
610| 16000001 | The specified ability does not exist. |
611| 16000002 | Incorrect ability type. |
612| 16000004 | Can not start invisible component. |
613| 16000005 | The specified process does not have the permission. |
614| 16000006 | Cross-user operations are not allowed. |
615| 16000008 | The crowdtesting application expires. |
616| 16000009 | An ability cannot be started or stopped in Wukong mode. |
617| 16000010 | The call with the continuation flag is forbidden. |
618| 16000011 | The context does not exist. |
619| 16000012 | The application is controlled. |
620| 16000013 | The application is controlled by EDM. |
621| 16000050 | Internal error. |
622| 16000053 | The ability is not on the top of the UI. |
623| 16000055 | Installation-free timed out. |
624| 16200001 | The caller has been released. |
625
626以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
627
628**示例:**
629
630```ts
631import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
632import Want from '@ohos.app.ability.Want';
633import { BusinessError } from '@ohos.base';
634
635let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
636let want: Want = {
637    bundleName: 'bundleName',
638    abilityName: 'abilityName'
639};
640
641abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
642abilityDelegator.startAbility(want, (err : BusinessError, data : void) => {
643    console.info('startAbility callback');
644});
645```
646
647### startAbility<sup>9+</sup>
648
649startAbility(want: Want): Promise\<void>;
650
651启动指定ability(promise形式)
652
653**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
654
655**参数:**
656
657| 参数名 | 类型                                   | 必填 | 说明            |
658| ------ | -------------------------------------- | ---- | --------------- |
659| want   | [Want](js-apis-app-ability-want.md) | 是   | 启动Ability参数 |
660
661**返回值:**
662
663| 类型           | 说明                |
664| -------------- | ------------------- |
665| Promise\<void> | 以Promise形式返回。 |
666
667**错误码**:
668
669| 错误码ID | 错误信息 |
670| ------- | -------- |
671| 16000001 | The specified ability does not exist. |
672| 16000002 | Incorrect ability type. |
673| 16000004 | Can not start invisible component. |
674| 16000005 | The specified process does not have the permission. |
675| 16000006 | Cross-user operations are not allowed. |
676| 16000008 | The crowdtesting application expires. |
677| 16000009 | An ability cannot be started or stopped in Wukong mode. |
678| 16000010 | The call with the continuation flag is forbidden. |
679| 16000011 | The context does not exist. |
680| 16000012 | The application is controlled. |
681| 16000013 | The application is controlled by EDM. |
682| 16000050 | Internal error. |
683| 16000053 | The ability is not on the top of the UI. |
684| 16000055 | Installation-free timed out. |
685| 16200001 | The caller has been released. |
686
687以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
688
689**示例:**
690
691```ts
692import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
693import UIAbility from '@ohos.app.ability.UIAbility';
694import Want from '@ohos.app.ability.Want';
695
696let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
697let want: Want = {
698    bundleName: 'bundleName',
699    abilityName: 'abilityName'
700};
701
702abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
703abilityDelegator.startAbility(want).then((data: void) => {
704    console.info('startAbility promise');
705});
706```
707
708### doAbilityForeground<sup>9+</sup>
709
710doAbilityForeground(ability: UIAbility, callback: AsyncCallback\<void>): void;
711
712调度指定ability生命周期状态到Foreground状态(callback形式)
713
714**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
715
716**参数:**
717
718| 参数名   | 类型                    | 必填 | 说明                                                    |
719| -------- | ----------------------- | ---- | ------------------------------------------------------- |
720| ability  | UIAbility               | 是   | 指定Ability对象                                         |
721| callback | AsyncCallback\<void>    | 是   | 表示指定的回调方法<br/>\- true:成功<br/>\- false:失败 |
722
723**错误码**:
724
725| 错误码ID | 错误信息 |
726| ------- | -------- |
727| 16000100 | DoAbilityForeground failed. |
728
729以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
730
731**示例:**
732
733```ts
734import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
735import UIAbility from '@ohos.app.ability.UIAbility';
736import { BusinessError } from '@ohos.base';
737
738let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
739let ability: UIAbility;
740
741abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
742abilityDelegator.getCurrentTopAbility((err : BusinessError, data : UIAbility) => {
743    console.info('getCurrentTopAbility callback');
744    ability = data;
745    abilityDelegator.doAbilityForeground(ability, (err : BusinessError) => {
746        console.info("doAbilityForeground callback");
747    });
748});
749```
750
751### doAbilityForeground<sup>9+</sup>
752
753doAbilityForeground(ability: UIAbility): Promise\<void>;
754
755调度指定ability生命周期状态到Foreground状态(promise形式)
756
757**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
758
759**参数:**
760
761| 参数名  | 类型    | 必填 | 说明            |
762| ------- | ------- | ---- | --------------- |
763| ability | UIAbility | 是   | 指定Ability对象 |
764
765**返回值:**
766
767| 类型              | 说明                                                         |
768| ----------------- | ------------------------------------------------------------ |
769| Promise\<boolean> | 以Promise形式返回执行结果。<br/>\- true:成功<br/>\- false:失败 |
770
771**错误码**:
772
773| 错误码ID | 错误信息 |
774| ------- | -------- |
775| 16000100 | DoAbilityForeground failed. |
776
777以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
778
779**示例:**
780
781```ts
782import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
783import UIAbility from '@ohos.app.ability.UIAbility';
784import { BusinessError } from '@ohos.base';
785
786let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
787let ability: UIAbility;
788
789abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
790abilityDelegator.getCurrentTopAbility((err : BusinessError, data : UIAbility) => {
791    console.info('getCurrentTopAbility callback');
792    ability = data;
793    abilityDelegator.doAbilityForeground(ability).then(() => {
794        console.info("doAbilityForeground promise");
795    });
796});
797```
798
799### doAbilityBackground<sup>9+</sup>
800
801doAbilityBackground(ability: UIAbility, callback: AsyncCallback\<void>): void;
802
803调度指定ability生命周期状态到Background状态(callback形式)
804
805**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
806
807**参数:**
808
809| 参数名   | 类型                    | 必填 | 说明                                                    |
810| -------- | ----------------------- | ---- | ------------------------------------------------------- |
811| ability  | UIAbility                 | 是   | 指定Ability对象                                         |
812| callback | AsyncCallback\<void> | 是   | 表示指定的回调方法<br/>\- true:成功<br/>\- false:失败 |
813
814**错误码**:
815
816| 错误码ID | 错误信息 |
817| ------- | -------- |
818| 16000100 | DoAbilityBackground failed. |
819
820以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
821
822**示例:**
823
824```ts
825import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
826import UIAbility from '@ohos.app.ability.UIAbility';
827import { BusinessError } from '@ohos.base';
828
829let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
830let ability: UIAbility;
831
832abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
833abilityDelegator.getCurrentTopAbility((err : BusinessError, data : UIAbility) => {
834    console.info('getCurrentTopAbility callback');
835    ability = data;
836    abilityDelegator.doAbilityBackground(ability, (err : BusinessError) => {
837        console.info("doAbilityBackground callback");
838    });
839});
840```
841
842### doAbilityBackground<sup>9+</sup>
843
844doAbilityBackground(ability: UIAbility): Promise\<void>;
845
846调度指定ability生命周期状态到Background状态(promise形式)
847
848**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
849
850**参数:**
851
852| 参数名  | 类型    | 必填 | 说明            |
853| ------- | ------- | ---- | --------------- |
854| ability | UIAbility | 是   | 指定Ability对象 |
855
856**返回值:**
857
858| 类型              | 说明                                                         |
859| ----------------- | ------------------------------------------------------------ |
860| Promise\<boolean> | 以Promise形式返回执行结果。<br/>\- true:成功<br/>\- false:失败 |
861
862**错误码**:
863
864| 错误码ID | 错误信息 |
865| ------- | -------- |
866| 16000100 | DoAbilityBackground failed. |
867
868以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
869
870**示例:**
871
872```ts
873import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
874import UIAbility from '@ohos.app.ability.UIAbility';
875import { BusinessError } from '@ohos.base';
876
877let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
878let ability: UIAbility;
879
880abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
881abilityDelegator.getCurrentTopAbility((err : BusinessError, data : UIAbility) => {
882    console.info('getCurrentTopAbility callback');
883    ability = data;
884    abilityDelegator.doAbilityBackground(ability).then(() => {
885        console.info("doAbilityBackground promise");
886    });
887});
888```
889
890### printSync<sup>9+</sup>
891
892printSync(msg: string): void;
893
894打印日志信息到单元测试终端控制台
895
896**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
897
898**参数:**
899
900| 参数名 | 类型   | 必填 | 说明       |
901| ------ | ------ | ---- | ---------- |
902| msg    | string | 是   | 日志字符串 |
903
904**示例:**
905
906```ts
907import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
908
909let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
910let msg = 'msg';
911
912abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
913abilityDelegator.printSync(msg);
914```
915
916### print
917
918print(msg: string, callback: AsyncCallback\<void>): void;
919
920打印日志信息到单元测试终端控制台(callback形式)
921
922**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
923
924**参数:**
925
926| 参数名   | 类型                 | 必填 | 说明               |
927| -------- | -------------------- | ---- | ------------------ |
928| msg      | string               | 是   | 日志字符串         |
929| callback | AsyncCallback\<void> | 是   | 表示指定的回调方法 |
930
931**示例:**
932
933```ts
934import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
935import { BusinessError } from '@ohos.base';
936
937let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
938let msg = 'msg';
939
940abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
941abilityDelegator.print(msg, (err : BusinessError) => {
942    console.info('print callback');
943});
944```
945
946### print
947
948print(msg: string): Promise\<void>;
949
950打印日志信息到单元测试终端控制台(promise形式)
951
952**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
953
954**参数:**
955
956| 参数名 | 类型   | 必填 | 说明       |
957| ------ | ------ | ---- | ---------- |
958| msg    | string | 是   | 日志字符串 |
959
960**返回值:**
961
962| 类型           | 说明                |
963| -------------- | ------------------- |
964| Promise\<void> | 以Promise形式返回。 |
965
966**示例:**
967
968```ts
969import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
970
971let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
972let msg = 'msg';
973
974abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
975abilityDelegator.print(msg).then(() => {
976    console.info('print promise');
977});
978```
979
980### executeShellCommand
981
982executeShellCommand(cmd: string, callback: AsyncCallback\<ShellCmdResult>): void;
983
984执行指定的shell命令(callback形式)
985
986仅支持如下shell命令:aa, bm, cp, mkdir, rm, uinput, hilog, ppwd, echo, uitest, acm, hidumper, wukong, pkill, ps, pidof
987
988**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
989
990**参数:**
991
992| 参数名   | 类型                                                         | 必填 | 说明               |
993| -------- | ------------------------------------------------------------ | ---- | ------------------ |
994| cmd      | string                                                       | 是   | shell命令字符串    |
995| callback | AsyncCallback\<[ShellCmdResult](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)> | 是   | 表示指定的回调方法 |
996
997**示例:**
998
999```ts
1000import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1001import { BusinessError } from '@ohos.base';
1002
1003let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1004let cmd = 'cmd';
1005
1006abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1007abilityDelegator.executeShellCommand(cmd, (err : BusinessError, data: AbilityDelegatorRegistry.ShellCmdResult) => {
1008    console.info('executeShellCommand callback');
1009});
1010```
1011
1012### executeShellCommand
1013
1014executeShellCommand(cmd: string, timeoutSecs: number, callback: AsyncCallback\<ShellCmdResult>): void;
1015
1016指定超时时间,并执行指定的shell命令(callback形式)
1017
1018仅支持如下shell命令:aa, bm, cp, mkdir, rm, uinput, hilog, ppwd, echo, uitest, acm, hidumper, wukong, pkill, ps, pidof
1019
1020**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
1021
1022**参数:**
1023
1024| 参数名      | 类型                                                         | 必填 | 说明                          |
1025| ----------- | ------------------------------------------------------------ | ---- | ----------------------------- |
1026| cmd         | string                                                       | 是   | shell命令字符串               |
1027| timeoutSecs | number                                                       | 是   | 设定命令超时时间,单位秒(s) |
1028| callback    | AsyncCallback\<[ShellCmdResult](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)> | 是   | 表示指定的回调方法            |
1029
1030**示例:**
1031
1032```ts
1033import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1034import { BusinessError } from '@ohos.base';
1035
1036let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1037let cmd = 'cmd';
1038let timeout = 100;
1039
1040abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1041abilityDelegator.executeShellCommand(cmd, timeout, (err : BusinessError, data: AbilityDelegatorRegistry.ShellCmdResult) => {
1042    console.info('executeShellCommand callback');
1043});
1044```
1045
1046### executeShellCommand
1047
1048executeShellCommand(cmd: string, timeoutSecs?: number): Promise\<ShellCmdResult>;
1049
1050指定超时时间,并执行指定的shell命令(promise形式)
1051
1052仅支持如下shell命令:aa, bm, cp, mkdir, rm, uinput, hilog, ppwd, echo, uitest, acm, hidumper, wukong, pkill, ps, pidof
1053
1054**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
1055
1056**参数:**
1057
1058| 参数名      | 类型   | 必填 | 说明                          |
1059| ----------- | ------ | ---- | ----------------------------- |
1060| cmd         | string | 是   | shell命令字符串               |
1061| timeoutSecs | number | 否   | 设定命令超时时间,单位秒(s) |
1062
1063**返回值:**
1064
1065| 类型                                                         | 说明                                                         |
1066| ------------------------------------------------------------ | ------------------------------------------------------------ |
1067| Promise\<[ShellCmdResult](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)> | 以Promise形式返回Shell命令执行结果[ShellCmdResult](js-apis-inner-application-shellCmdResult.md#ShellCmdResult)对象。 |
1068
1069**示例:**
1070
1071```ts
1072import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1073
1074let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1075let cmd = 'cmd';
1076let timeout = 100;
1077
1078abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1079abilityDelegator.executeShellCommand(cmd, timeout).then((data) => {
1080    console.info('executeShellCommand promise');
1081});
1082```
1083
1084### finishTest<sup>9+</sup>
1085
1086finishTest(msg: string, code: number, callback: AsyncCallback\<void>): void;
1087
1088结束测试并打印日志信息到单元测试终端控制台(callback形式)
1089
1090**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1091
1092**参数:**
1093
1094| 参数名   | 类型                 | 必填 | 说明               |
1095| -------- | -------------------- | ---- | ------------------ |
1096| msg      | string               | 是   | 日志字符串         |
1097| code     | number               | 是   | 日志码             |
1098| callback | AsyncCallback\<void> | 是   | 表示指定的回调方法 |
1099
1100**错误码**:
1101
1102| 错误码ID | 错误信息 |
1103| ------- | -------- |
1104| 16000100 | FinishTest failed. |
1105
1106以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1107
1108**示例:**
1109
1110```ts
1111import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1112import { BusinessError } from '@ohos.base';
1113
1114let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1115let msg = 'msg';
1116
1117abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1118abilityDelegator.finishTest(msg, 0, (err : BusinessError) => {
1119    console.info('finishTest callback');
1120});
1121```
1122
1123### finishTest<sup>9+</sup>
1124
1125finishTest(msg: string, code: number): Promise\<void>;
1126
1127结束测试并打印日志信息到单元测试终端控制台(promise形式)
1128
1129**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1130
1131**参数:**
1132
1133| 参数名 | 类型   | 必填 | 说明       |
1134| ------ | ------ | ---- | ---------- |
1135| msg    | string | 是   | 日志字符串 |
1136| code   | number | 是   | 日志码     |
1137
1138**返回值:**
1139
1140| 类型           | 说明                |
1141| -------------- | ------------------- |
1142| Promise\<void> | 以Promise形式返回。 |
1143
1144**错误码**:
1145
1146| 错误码ID | 错误信息 |
1147| ------- | -------- |
1148| 16000100 | FinishTest failed. |
1149
1150以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1151
1152**示例:**
1153
1154```ts
1155import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1156
1157let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1158let msg = 'msg';
1159
1160abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1161abilityDelegator.finishTest(msg, 0).then(() => {
1162    console.info('finishTest promise');
1163});
1164```
1165
1166### addAbilityStageMonitor<sup>9+</sup>
1167
1168addAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\<void>): void;
1169
1170添加一个AbilityStageMonitor对象,用于监视指定abilityStage的生命周期状态更改。(callback形式)
1171
1172**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1173
1174**参数:**
1175
1176| 参数名   | 类型                                                         | 必填 | 说明                                                         |
1177| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
1178| monitor  | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是       | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
1179| callback | AsyncCallback\<void>                                         | 是       | 表示指定的回调方法                                           |
1180
1181**错误码**:
1182
1183| 错误码ID | 错误信息 |
1184| ------- | -------- |
1185| 16000100 | AddAbilityStageMonitor failed. |
1186
1187以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1188
1189**示例:**
1190
1191```ts
1192import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1193import { BusinessError } from '@ohos.base';
1194
1195let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1196
1197abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1198abilityDelegator.addAbilityStageMonitor({
1199    moduleName: 'moduleName',
1200    srcEntrance: 'srcEntrance',
1201}, (err : BusinessError) => {
1202    console.info('addAbilityStageMonitor callback');
1203});
1204```
1205
1206### addAbilityStageMonitor<sup>9+</sup>
1207
1208addAbilityStageMonitor(monitor: AbilityStageMonitor): Promise\<void>;
1209
1210添加一个AbilityStageMonitor对象,用于监视指定abilityStage的生命周期状态更改。(promise形式)
1211
1212**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1213
1214**参数:**
1215
1216| 参数名  | 类型                                                         | 必填 | 说明                                                         |
1217| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
1218| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是   | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
1219
1220**返回值:**
1221
1222| 类型           | 说明                |
1223| -------------- | ------------------- |
1224| Promise\<void> | 以Promise形式返回。 |
1225
1226**错误码**:
1227
1228| 错误码ID | 错误信息 |
1229| ------- | -------- |
1230| 16000100 | AddAbilityStageMonitor failed. |
1231
1232以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1233
1234**示例:**
1235
1236```ts
1237import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1238
1239let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1240
1241abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1242abilityDelegator.addAbilityStageMonitor({
1243    moduleName: 'moduleName',
1244    srcEntrance: 'srcEntrance',
1245}).then(() => {
1246    console.info('addAbilityStageMonitor promise');
1247});
1248```
1249
1250### addAbilityStageMonitorSync<sup>10+</sup>
1251
1252addAbilityStageMonitorSync(monitor: AbilityStageMonitor): void;
1253
1254同步添加一个AbilityStageMonitor对象,用于监视指定abilityStage的生命周期状态更改。
1255
1256**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1257
1258**参数:**
1259
1260| 参数名   | 类型                                                         | 必填 | 说明                                                         |
1261| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
1262| monitor  | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是       | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
1263| callback | AsyncCallback\<void>                                         | 是       | 表示指定的回调方法                                           |
1264
1265**错误码**:
1266
1267| 错误码ID | 错误信息 |
1268| ------- | -------- |
1269| 16000100 | AddAbilityStageMonitor failed. |
1270| 401 | If the input parameter is not valid parameter. |
1271
1272以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1273
1274**示例:**
1275
1276```ts
1277let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1278
1279let monitor = {
1280    moduleName: 'moduleName',
1281    srcEntrance: 'srcEntrance',
1282};
1283
1284abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1285abilityDelegator.addAbilityStageMonitorSync(monitor);
1286```
1287
1288### removeAbilityStageMonitor<sup>9+</sup>
1289
1290removeAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\<void>): void;
1291
1292从应用程序内存中删除指定的AbilityStageMonitor对象。(callback形式)
1293
1294**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1295
1296**参数:**
1297
1298| 参数名   | 类型                                                         | 必填 | 说明                                                         |
1299| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
1300| monitor  | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是       | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
1301| callback | AsyncCallback\<void>                                         | 是       | 表示指定的回调方法                                           |
1302
1303**错误码**:
1304
1305| 错误码ID | 错误信息 |
1306| ------- | -------- |
1307| 16000100 | RemoveAbilityStageMonitor failed. |
1308
1309以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1310
1311**示例:**
1312
1313```ts
1314import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1315import { BusinessError } from '@ohos.base';
1316
1317let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1318
1319abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1320abilityDelegator.removeAbilityStageMonitor({
1321    moduleName: 'moduleName',
1322    srcEntrance: 'srcEntrance',
1323}, (err : BusinessError) => {
1324    console.info('removeAbilityStageMonitor callback');
1325});
1326```
1327
1328### removeAbilityStageMonitor<sup>9+</sup>
1329
1330removeAbilityStageMonitor(monitor: AbilityStageMonitor): Promise\<void>;
1331
1332从应用程序内存中删除指定的AbilityStageMonitor对象。(promise形式)
1333
1334**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1335
1336**参数:**
1337
1338| 参数名  | 类型                                                         | 必填 | 说明                                                         |
1339| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
1340| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是   | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
1341
1342**返回值:**
1343
1344| 类型           | 说明                |
1345| -------------- | ------------------- |
1346| Promise\<void> | 以Promise形式返回。 |
1347
1348**错误码**:
1349
1350| 错误码ID | 错误信息 |
1351| ------- | -------- |
1352| 16000100 | RemoveAbilityStageMonitor failed. |
1353
1354以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1355
1356**示例:**
1357
1358```ts
1359import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1360
1361let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1362
1363abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1364abilityDelegator.removeAbilityStageMonitor({
1365    moduleName: 'moduleName',
1366    srcEntrance: 'srcEntrance',
1367}).then(() => {
1368    console.info('removeAbilityStageMonitor promise');
1369});
1370```
1371
1372### removeAbilityStageMonitorSync<sup>10+</sup>
1373
1374removeAbilityStageMonitorSync(monitor: AbilityStageMonitor): void;
1375
1376同步从应用程序内存中删除指定的AbilityStageMonitor对象。
1377
1378**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1379
1380**参数:**
1381
1382| 参数名   | 类型                                                         | 必填 | 说明                                                         |
1383| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
1384| monitor  | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是       | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
1385
1386**错误码**:
1387
1388| 错误码ID | 错误信息 |
1389| ------- | -------- |
1390| 16000100 | RemoveAbilityStageMonitor failed. |
1391| 401 | If the input parameter is not valid parameter. |
1392
1393以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1394
1395**示例:**
1396
1397```ts
1398let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1399
1400let monitor = {
1401    moduleName: 'moduleName',
1402    srcEntrance: 'srcEntrance',
1403};
1404
1405abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1406abilityDelegator.removeAbilityStageMonitorSync(monitor);
1407```
1408
1409### waitAbilityStageMonitor<sup>9+</sup>
1410
1411waitAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\<AbilityStage>): void;
1412
1413等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(callback形式)
1414
1415**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1416
1417**参数:**
1418
1419| 参数名   | 类型                                                         | 必填 | 说明                                                         |
1420| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
1421| monitor  | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是       | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
1422| callback | AsyncCallback\<AbilityStage>                                         | 是       | 成功返回AbilityStage对象,失败返回空。             |
1423
1424**错误码**:
1425
1426| 错误码ID | 错误信息 |
1427| ------- | -------- |
1428| 16000100 | WaitAbilityStageMonitor failed. |
1429
1430以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1431
1432**示例:**
1433
1434```ts
1435import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1436import AbilityStage from '@ohos.app.ability.AbilityStage';
1437
1438let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1439
1440abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1441abilityDelegator.waitAbilityStageMonitor({
1442    moduleName: 'moduleName',
1443    srcEntrance: 'srcEntrance',
1444}, (err : BusinessError, data : AbilityStage) => {
1445    console.info('waitAbilityStageMonitor callback');
1446});
1447```
1448
1449### waitAbilityStageMonitor<sup>9+</sup>
1450
1451waitAbilityStageMonitor(monitor: AbilityStageMonitor, timeout?: number): Promise\<AbilityStage>;
1452
1453等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(promise形式)
1454
1455**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1456
1457**参数:**
1458
1459| 参数名  | 类型                                                         | 必填 | 说明                                                         |
1460| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
1461| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是   | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
1462| timeout | number | 否   | 超时最大等待时间,以毫秒为单位。 |
1463
1464**返回值:**
1465
1466| 类型           | 说明                |
1467| -------------- | ------------------- |
1468| Promise\<AbilityStage> | 成功返回AbilityStage对象,失败返回空。 |
1469
1470**错误码**:
1471
1472| 错误码ID | 错误信息 |
1473| ------- | -------- |
1474| 16000100 | WaitAbilityStageMonitor failed. |
1475
1476以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1477
1478**示例:**
1479
1480```ts
1481import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1482import AbilityStage from '@ohos.app.ability.AbilityStage';
1483
1484let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1485
1486abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1487abilityDelegator.waitAbilityStageMonitor({
1488    moduleName: 'moduleName',
1489    srcEntrance: 'srcEntrance',
1490}).then((data : AbilityStage) => {
1491    console.info('waitAbilityStageMonitor promise');
1492});
1493```
1494
1495### waitAbilityStageMonitor<sup>9+</sup>
1496
1497waitAbilityStageMonitor(monitor: AbilityStageMonitor, timeout: number, callback: AsyncCallback\<AbilityStage>): void;
1498
1499等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(callback形式)
1500
1501**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
1502
1503**参数:**
1504
1505| 参数名  | 类型                                                         | 必填 | 说明                                                         |
1506| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
1507| monitor | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) | 是   | [AbilityStageMonitor](js-apis-inner-application-abilityStageMonitor.md) 实例 |
1508| timeout | number | 是   | 超时最大等待时间,以毫秒为单位。 |
1509| callback | AsyncCallback\<AbilityStage>                                         | 是       | 成功返回AbilityStage对象,失败返回空。                     |
1510
1511**错误码**:
1512
1513| 错误码ID | 错误信息 |
1514| ------- | -------- |
1515| 16000100 | WaitAbilityStageMonitor failed. |
1516
1517以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
1518
1519**示例:**
1520
1521```ts
1522import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry';
1523import AbilityStage from '@ohos.app.ability.AbilityStage';
1524import { BusinessError } from '@ohos.base';
1525
1526let abilityDelegator: AbilityDelegatorRegistry.AbilityDelegator;
1527let timeout = 100;
1528
1529abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
1530abilityDelegator.waitAbilityStageMonitor({
1531    moduleName: 'moduleName',
1532    srcEntrance: 'srcEntrance',
1533}, timeout, (err : BusinessError, data : AbilityStage) => {
1534    console.info('waitAbilityStageMonitor callback');
1535});
1536```