• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# AbilityDelegator
2
3> **NOTE**
4>
5> The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
6>
7> API version 9 is a canary version for trial use. The APIs of this version may be unstable.
8
9## Modules to Import
10
11```js
12import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
13```
14
15## AbilityDelegator
16
17### addAbilityMonitor<sup>9+</sup>
18
19addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<void>): void
20
21Adds an **AbilityMonitor** instance. This API uses an asynchronous callback to return the result.
22
23**System capability**: SystemCapability.Ability.AbilityRuntime.Core
24
25**Parameters**
26
27| Name  | Type                                                        | Mandatory| Description                                                        |
28| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
29| monitor  | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | Yes      | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) instance.|
30| callback | AsyncCallback\<void>                                         | Yes      | Callback used to return the result.                                          |
31
32**Example**
33
34```js
35var abilityDelegator;
36
37function onAbilityCreateCallback(data) {
38    console.info("onAbilityCreateCallback");
39}
40
41var monitor = {
42    abilityName: "abilityname",
43    onAbilityCreate: onAbilityCreateCallback
44}
45
46abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
47abilityDelegator.addAbilityMonitor(monitor, (err : any) => {
48    console.info("addAbilityMonitor callback");
49});
50```
51
52### addAbilityMonitor<sup>9+</sup>
53
54addAbilityMonitor(monitor: AbilityMonitor): Promise\<void>
55
56Adds an **AbilityMonitor** instance. This API uses a promise to return the result.
57
58**System capability**: SystemCapability.Ability.AbilityRuntime.Core
59
60**Parameters**
61
62| Name | Type                                                        | Mandatory| Description                                                        |
63| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
64| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | Yes  | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) instance.|
65
66**Return value**
67
68| Type          | Description               |
69| -------------- | ------------------- |
70| Promise\<void> | Promise used to return the result.|
71
72**Example**
73
74```js
75var abilityDelegator;
76
77function onAbilityCreateCallback(data) {
78    console.info("onAbilityCreateCallback");
79}
80
81var monitor = {
82    abilityName: "abilityname",
83    onAbilityCreate: onAbilityCreateCallback
84}
85
86abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
87abilityDelegator.addAbilityMonitor(monitor).then(() => {
88    console.info("addAbilityMonitor promise");
89});
90```
91
92### removeAbilityMonitor<sup>9+</sup>
93
94removeAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<void>): void
95
96Removes an **AbilityMonitor** instance. This API uses an asynchronous callback to return the result.
97
98**System capability**: SystemCapability.Ability.AbilityRuntime.Core
99
100**Parameters**
101
102| Name  | Type                                                        | Mandatory| Description                                                        |
103| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
104| monitor  | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | Yes  | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) instance.|
105| callback | AsyncCallback\<void>                                         | Yes  | Callback used to return the result.                                          |
106
107**Example**
108
109```js
110var abilityDelegator;
111
112function onAbilityCreateCallback(data) {
113    console.info("onAbilityCreateCallback");
114}
115
116var monitor = {
117    abilityName: "abilityname",
118    onAbilityCreate: onAbilityCreateCallback
119}
120
121abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
122abilityDelegator.removeAbilityMonitor(monitor, (err : any) => {
123    console.info("removeAbilityMonitor callback");
124});
125```
126
127### removeAbilityMonitor<sup>9+</sup>
128
129removeAbilityMonitor(monitor: AbilityMonitor): Promise\<void>
130
131Removes an **AbilityMonitor** instance. This API uses a promise to return the result.
132
133**System capability**: SystemCapability.Ability.AbilityRuntime.Core
134
135**Parameters**
136
137| Name   | Type                                                        | Mandatory| Description                                                        |
138| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
139| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | Yes  | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) instance.|
140
141**Return value**
142
143| Type          | Description               |
144| -------------- | ------------------- |
145| Promise\<void> | Promise used to return the result.|
146
147**Example**
148
149```js
150var abilityDelegator;
151
152function onAbilityCreateCallback(data) {
153    console.info("onAbilityCreateCallback");
154}
155
156var monitor = {
157    abilityName: "abilityname",
158    onAbilityCreate: onAbilityCreateCallback
159}
160
161abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
162abilityDelegator.removeAbilityMonitor(monitor).then(() => {
163    console.info("removeAbilityMonitor promise");
164});
165```
166
167### waitAbilityMonitor<sup>9+</sup>
168
169waitAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<Ability>): void
170
171Waits for the ability that matches the **AbilityMonitor** instance to reach the **OnCreate** lifecycle and returns the **Ability** instance. This API uses an asynchronous callback to return the result.
172
173**System capability**: SystemCapability.Ability.AbilityRuntime.Core
174
175**Parameters**
176
177| Name  | Type                                                        | Mandatory| Description                                                        |
178| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
179| monitor  | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | Yes  | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) instance.|
180| callback | AsyncCallback\<[Ability](js-apis-application-ability.md#Ability)> | Yes  | Callback used to return the result.                                          |
181
182**Example**
183
184```js
185var abilityDelegator;
186
187function onAbilityCreateCallback(data) {
188    console.info("onAbilityCreateCallback");
189}
190
191var monitor = {
192    abilityName: "abilityname",
193    onAbilityCreate: onAbilityCreateCallback
194}
195
196abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
197abilityDelegator.waitAbilityMonitor(monitor, (err : any, data : any) => {
198    console.info("waitAbilityMonitor callback");
199});
200```
201
202### waitAbilityMonitor<sup>9+</sup>
203
204waitAbilityMonitor(monitor: AbilityMonitor, timeout: number, callback: AsyncCallback\<Ability>): void
205
206Waits a period of time for the ability that matches the **AbilityMonitor** instance to reach the **OnCreate** lifecycle and returns the **Ability** instance. This API uses an asynchronous callback to return the result.
207
208**System capability**: SystemCapability.Ability.AbilityRuntime.Core
209
210**Parameters**
211
212| Name  | Type                                                        | Mandatory| Description                                                        |
213| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
214| monitor  | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | Yes  | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) instance.|
215| timeout  | number                                                       | Yes  | Maximum waiting time, in milliseconds.                                |
216| callback | AsyncCallback\<[Ability](js-apis-application-ability.md#Ability)> | Yes  | Callback used to return the result.                                          |
217
218**Example**
219
220```js
221var abilityDelegator;
222var timeout = 100;
223
224function onAbilityCreateCallback(data) {
225    console.info("onAbilityCreateCallback");
226}
227
228var monitor = {
229    abilityName: "abilityname",
230    onAbilityCreate: onAbilityCreateCallback
231}
232
233abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
234abilityDelegator.waitAbilityMonitor(monitor, timeout, (err : any, data : any) => {
235    console.info("waitAbilityMonitor callback");
236});
237```
238
239### waitAbilityMonitor<sup>9+</sup>
240
241waitAbilityMonitor(monitor: AbilityMonitor, timeout?: number): Promise\<Ability>
242
243Waits a period of time for the ability that matches the **AbilityMonitor** instance to reach the **OnCreate** lifecycle and returns the **Ability** instance. This API uses a promise to return the result.
244
245**System capability**: SystemCapability.Ability.AbilityRuntime.Core
246
247**Parameters**
248
249| Name | Type                                                        | Mandatory| Description                                                        |
250| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
251| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | Yes  | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) instance.|
252| timeout | number                                                       | No  | Maximum waiting time, in milliseconds.                                |
253
254**Return value**
255
256| Type                                                       | Description                      |
257| ----------------------------------------------------------- | -------------------------- |
258| Promise\<[Ability](js-apis-application-ability.md#Ability)> | Promise used to return the **Ability** instance.|
259
260**Example**
261
262```js
263var abilityDelegator;
264
265function onAbilityCreateCallback(data) {
266    console.info("onAbilityCreateCallback");
267}
268
269var monitor = {
270    abilityName: "abilityname",
271    onAbilityCreate: onAbilityCreateCallback
272}
273
274abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
275abilityDelegator.waitAbilityMonitor(monitor).then((data : any) => {
276    console.info("waitAbilityMonitor promise");
277});
278```
279
280### getAppContext<sup>9+</sup>
281
282getAppContext(): Context
283
284Obtains the application context.
285
286**System capability**: SystemCapability.Ability.AbilityRuntime.Core
287
288**Return value**
289
290| Type                                 | Description                                       |
291| ------------------------------------- | ------------------------------------------- |
292| [Context](js-apis-Context.md#Context) | [Context](js-apis-Context.md#Context) of the application.|
293
294**Example**
295
296```js
297var abilityDelegator;
298
299abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
300var context = abilityDelegator.getAppContext();
301```
302
303### getAbilityState<sup>9+</sup>
304
305getAbilityState(ability: Ability): number
306
307Obtains the lifecycle state of an ability.
308
309**System capability**: SystemCapability.Ability.AbilityRuntime.Core
310
311**Parameters**
312
313| Name | Type                                             | Mandatory| Description           |
314| ------- | ------------------------------------------------- | ---- | --------------- |
315| ability | [Ability](js-apis-application-ability.md#Ability) | Yes  | Target ability.|
316
317**Return value**
318
319| Type  | Description                                                        |
320| ------ | ------------------------------------------------------------ |
321| number | Lifecycle state of the ability. For details about the available enumerated values, see [AbilityLifecycleState](js-apis-abilityDelegatorRegistry.md#AbilityLifecycleState).|
322
323**Example**
324
325```js
326var abilityDelegator;
327var ability;
328
329abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
330abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
331    console.info("getCurrentTopAbility callback");
332    ability = data;
333    var state = abilityDelegator.getAbilityState(ability);
334    console.info("getAbilityState" + state);
335});
336```
337
338### getCurrentTopAbility<sup>9+</sup>
339
340getCurrentTopAbility(callback: AsyncCallback\<Ability>): void
341
342Obtains the top ability of the application. This API uses an asynchronous callback to return the result.
343
344**System capability**: SystemCapability.Ability.AbilityRuntime.Core
345
346**Parameters**
347
348| Name  | Type                                                        | Mandatory| Description              |
349| -------- | ------------------------------------------------------------ | ---- | ------------------ |
350| callback | AsyncCallback\<[Ability](js-apis-application-ability.md#Ability)> | Yes  | Callback used to return the result.|
351
352**Example**
353
354```js
355var abilityDelegator;
356var ability;
357
358abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
359abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
360    console.info("getCurrentTopAbility callback");
361    ability = data;
362});
363```
364
365### getCurrentTopAbility<sup>9+</sup>
366
367getCurrentTopAbility(): Promise\<Ability>
368
369Obtains the top ability of the application. This API uses a promise to return the result.
370
371**System capability**: SystemCapability.Ability.AbilityRuntime.Core
372
373**Return value**
374
375| Type                                                       | Description                                  |
376| ----------------------------------------------------------- | -------------------------------------- |
377| Promise\<[Ability](js-apis-application-ability.md#Ability)> | Promise used to return the top ability.|
378
379**Example**
380
381```js
382var abilityDelegator;
383var ability;
384
385abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
386abilityDelegator.getCurrentTopAbility().then((data : any) => {
387    console.info("getCurrentTopAbility promise");
388    ability = data;
389});
390```
391
392### doAbilityForeground<sup>9+</sup>
393
394doAbilityForeground(ability: Ability, callback: AsyncCallback\<boolean>): void
395
396Schedules the lifecycle state of an ability to **Foreground**. This API uses an asynchronous callback to return the result.
397
398**System capability**: SystemCapability.Ability.AbilityRuntime.Core
399
400**Parameters**
401
402| Name  | Type                   | Mandatory| Description                                                   |
403| -------- | ----------------------- | ---- | ------------------------------------------------------- |
404| ability  | Ability                 | Yes  | Target ability.                                        |
405| callback | AsyncCallback\<boolean> | Yes  | Callback used to return the result.<br>\- **true**: The operation is successful.<br>\- **false**: The operation fails.|
406
407**Example**
408
409```js
410var abilityDelegator;
411var ability;
412
413abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
414abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
415    console.info("getCurrentTopAbility callback");
416    ability = data;
417    abilityDelegator.doAbilityForeground(ability, (err : any, data : any) => {
418        console.info("doAbilityForeground callback");
419    });
420});
421```
422
423### doAbilityForeground<sup>9+</sup>
424
425doAbilityForeground(ability: Ability): Promise\<boolean>
426
427Schedules the lifecycle state of an ability to **Foreground**. This API uses a promise to return the result.
428
429**System capability**: SystemCapability.Ability.AbilityRuntime.Core
430
431**Parameters**
432
433| Name | Type   | Mandatory| Description           |
434| ------- | ------- | ---- | --------------- |
435| ability | Ability | Yes  | Target ability.|
436
437**Return value**
438
439| Type             | Description                                                        |
440| ----------------- | ------------------------------------------------------------ |
441| Promise\<boolean> | Promise used to return the result.<br>\- **true**: The operation is successful.<br>\- **false**: The operation fails.|
442
443**Example**
444
445```js
446var abilityDelegator;
447var ability;
448
449abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
450abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
451    console.info("getCurrentTopAbility callback");
452    ability = data;
453    abilityDelegator.doAbilityForeground(ability).then((data : any) => {
454        console.info("doAbilityForeground promise");
455    });
456});
457```
458
459### doAbilityBackground<sup>9+</sup>
460
461doAbilityBackground(ability: Ability, callback: AsyncCallback\<boolean>): void
462
463Schedules the lifecycle state of an ability to **Background**. This API uses an asynchronous callback to return the result.
464
465**System capability**: SystemCapability.Ability.AbilityRuntime.Core
466
467**Parameters**
468
469| Name  | Type                   | Mandatory| Description                                                   |
470| -------- | ----------------------- | ---- | ------------------------------------------------------- |
471| ability  | Ability                 | Yes  | Target ability.                                        |
472| callback | AsyncCallback\<boolean> | Yes  | Callback used to return the result.<br>\- **true**: The operation is successful.<br>\- **false**: The operation fails.|
473
474**Example**
475
476```js
477var abilityDelegator;
478var ability;
479
480abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
481abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
482    console.info("getCurrentTopAbility callback");
483    ability = data;
484    abilityDelegator.doAbilityBackground(ability, (err : any, data : any) => {
485        console.info("doAbilityBackground callback");
486    });
487});
488```
489
490### doAbilityBackground<sup>9+</sup>
491
492doAbilityBackground(ability: Ability): Promise\<boolean>
493
494Schedules the lifecycle state of an ability to **Background**. This API uses a promise to return the result.
495
496**System capability**: SystemCapability.Ability.AbilityRuntime.Core
497
498**Parameters**
499
500| Name | Type   | Mandatory| Description           |
501| ------- | ------- | ---- | --------------- |
502| ability | Ability | Yes  | Target ability.|
503
504**Return value**
505
506| Type             | Description                                                        |
507| ----------------- | ------------------------------------------------------------ |
508| Promise\<boolean> | Promise used to return the result.<br>\- **true**: The operation is successful.<br>\- **false**: The operation fails.|
509
510**Example**
511
512```js
513var abilityDelegator;
514var ability;
515
516abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
517abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
518    console.info("getCurrentTopAbility callback");
519    ability = data;
520    abilityDelegator.doAbilityBackground(ability).then((data : any) => {
521        console.info("doAbilityBackground promise");
522    });
523});
524```
525
526### startAbility<sup>9+</sup>
527
528startAbility(want: Want, callback: AsyncCallback\<void>): void
529
530Starts an ability. This API uses an asynchronous callback to return the result.
531
532**System capability**: SystemCapability.Ability.AbilityRuntime.Core
533
534**Parameters**
535
536| Name  | Type                                  | Mandatory| Description              |
537| -------- | -------------------------------------- | ---- | ------------------ |
538| want     | [Want](js-apis-featureAbility.md#Want) | Yes  | **Want** parameter for starting the ability.   |
539| callback | AsyncCallback\<void>                   | Yes  | Callback used to return the result.|
540
541**Example**
542
543```js
544var abilityDelegator;
545var want = {
546    bundleName: "bundleName",
547    abilityName: "abilityName"
548};
549
550abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
551abilityDelegator.startAbility(want, (err, data) => {
552    console.info("startAbility callback");
553});
554```
555
556
557
558### startAbility<sup>9+</sup>
559
560startAbility(want: Want): Promise\<void>
561
562Starts an ability. This API uses a promise to return the result.
563
564**System capability**: SystemCapability.Ability.AbilityRuntime.Core
565
566**Parameters**
567
568| Name| Type                                  | Mandatory| Description           |
569| ------ | -------------------------------------- | ---- | --------------- |
570| want   | [Want](js-apis-featureAbility.md#Want) | Yes  | **Want** parameter for starting the ability.|
571
572**Return value**
573
574| Type          | Description               |
575| -------------- | ------------------- |
576| Promise\<void> | Promise used to return the result.|
577
578**Example**
579
580```js
581var abilityDelegator;
582var want = {
583    bundleName: "bundleName",
584    abilityName: "abilityName"
585};
586
587abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
588abilityDelegator.startAbility(want).then((data: any) => {
589    console.info("startAbility promise");
590});
591```
592
593
594
595### print
596
597print(msg: string, callback: AsyncCallback\<void>): void
598
599Prints log information to the unit test console. This API uses an asynchronous callback to return the result.
600
601**System capability**: SystemCapability.Ability.AbilityRuntime.Core
602
603**Parameters**
604
605| Name  | Type                | Mandatory| Description              |
606| -------- | -------------------- | ---- | ------------------ |
607| msg      | string               | Yes  | Log string.        |
608| callback | AsyncCallback\<void> | Yes  | Callback used to return the result.|
609
610**Example**
611
612```js
613var abilityDelegator;
614var msg = "msg";
615
616abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
617abilityDelegator.print(msg, (err) => {
618    console.info("print callback");
619});
620```
621
622
623
624### print
625
626print(msg: string): Promise\<void>
627
628Prints log information to the unit test console. This API uses a promise to return the result.
629
630**System capability**: SystemCapability.Ability.AbilityRuntime.Core
631
632**Parameters**
633
634| Name| Type  | Mandatory| Description      |
635| ------ | ------ | ---- | ---------- |
636| msg    | string | Yes  | Log string.|
637
638**Return value**
639
640| Type          | Description               |
641| -------------- | ------------------- |
642| Promise\<void> | Promise used to return the result.|
643
644**Example**
645
646```js
647var abilityDelegator;
648var msg = "msg";
649
650abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
651abilityDelegator.print(msg).then(() => {
652    console.info("print promise");
653});
654```
655
656
657
658### executeShellCommand
659
660executeShellCommand(cmd: string, callback: AsyncCallback\<ShellCmdResult>): void
661
662Executes a shell command. This API uses an asynchronous callback to return the result.
663
664**System capability**: SystemCapability.Ability.AbilityRuntime.Core
665
666**Parameters**
667
668| Name  | Type                                                        | Mandatory| Description              |
669| -------- | ------------------------------------------------------------ | ---- | ------------------ |
670| cmd      | string                                                       | Yes  | Shell command string.   |
671| callback | AsyncCallback\<[ShellCmdResult](js-apis-application-shellCmdResult.md#ShellCmdResult)> | Yes  | Callback used to return the result.|
672
673**Example**
674
675```js
676var abilityDelegator;
677var cmd = "cmd";
678
679abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
680abilityDelegator.executeShellCommand(cmd, (err, data) => {
681    console.info("executeShellCommand callback");
682});
683```
684
685
686
687### executeShellCommand
688
689executeShellCommand(cmd: string, timeoutSecs: number, callback: AsyncCallback\<ShellCmdResult>): void
690
691Executes a shell command with the timeout period specified. This API uses an asynchronous callback to return the result.
692
693**System capability**: SystemCapability.Ability.AbilityRuntime.Core
694
695**Parameters**
696
697| Name     | Type                                                        | Mandatory| Description                         |
698| ----------- | ------------------------------------------------------------ | ---- | ----------------------------- |
699| cmd         | string                                                       | Yes  | Shell command string.              |
700| timeoutSecs | number                                                       | Yes  | Command timeout period, in seconds.|
701| callback    | AsyncCallback\<[ShellCmdResult](js-apis-application-shellCmdResult.md#ShellCmdResult)> | Yes  | Callback used to return the result.           |
702
703**Example**
704
705```js
706var abilityDelegator;
707var cmd = "cmd";
708var timeout = 100;
709
710abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
711abilityDelegator.executeShellCommand(cmd, timeout, (err, data) => {
712    console.info("executeShellCommand callback");
713});
714```
715
716
717
718### executeShellCommand
719
720executeShellCommand(cmd: string, timeoutSecs?: number): Promise\<ShellCmdResult>;
721
722Executes a shell command with the timeout period specified. This API uses a promise to return the result.
723
724**System capability**: SystemCapability.Ability.AbilityRuntime.Core
725
726**Parameters**
727
728| Name     | Type  | Mandatory| Description                         |
729| ----------- | ------ | ---- | ----------------------------- |
730| cmd         | string | Yes  | Shell command string.              |
731| timeoutSecs | number | No  | Command timeout period, in seconds.|
732
733**Return value**
734
735| Type                                                        | Description                                                        |
736| ------------------------------------------------------------ | ------------------------------------------------------------ |
737| Promise\<[ShellCmdResult](js-apis-application-shellCmdResult.md#ShellCmdResult)> | Promise used to return a [ShellCmdResult](js-apis-application-shellCmdResult.md#ShellCmdResult) object.|
738
739**Example**
740
741```js
742var abilityDelegator;
743var cmd = "cmd";
744var timeout = 100;
745
746abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
747abilityDelegator.executeShellCommand(cmd, timeout).then((data : any) => {
748    console.info("executeShellCommand promise");
749});
750```
751