• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License"),
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 /**
17  * @file
18  * @kit AbilityKit
19  */
20 
21 import { AbilityResult } from './ability/abilityResult';
22 import { AsyncCallback } from './@ohos.base';
23 import { Configuration } from './@ohos.app.ability.Configuration';
24 import Context from './application/Context';
25 import { AbilityRunningInfo as _AbilityRunningInfo } from './application/AbilityRunningInfo';
26 import { ExtensionRunningInfo as _ExtensionRunningInfo } from './application/ExtensionRunningInfo';
27 import { ElementName } from './bundleManager/ElementName';
28 import * as _AbilityForegroundStateObserver from './application/AbilityForegroundStateObserver';
29 import * as _AbilityStateData from './application/AbilityStateData';
30 
31 /**
32  * The class of an ability manager.
33  *
34  * @namespace abilityManager
35  * @syscap SystemCapability.Ability.AbilityRuntime.Core
36  * @systemapi
37  * @since 9
38  */
39 declare namespace abilityManager {
40   /**
41    * Enum for the ability state.
42    *
43    * @enum { number }
44    * @syscap SystemCapability.Ability.AbilityRuntime.Core
45    * @systemapi
46    * @since 9
47    */
48   export enum AbilityState {
49     /**
50      * Ability is initialized.
51      *
52      * @syscap SystemCapability.Ability.AbilityRuntime.Core
53      * @systemapi
54      * @since 9
55      */
56     INITIAL = 0,
57 
58     /**
59      * Ability is in the state of getting focus.
60      *
61      * @syscap SystemCapability.Ability.AbilityRuntime.Core
62      * @systemapi
63      * @since 9
64      */
65     FOCUS = 2,
66 
67     /**
68      * Ability is in the foreground state.
69      *
70      * @syscap SystemCapability.Ability.AbilityRuntime.Core
71      * @systemapi
72      * @since 9
73      */
74     FOREGROUND = 9,
75 
76     /**
77      * Ability is in the background state.
78      *
79      * @syscap SystemCapability.Ability.AbilityRuntime.Core
80      * @systemapi
81      * @since 9
82      */
83     BACKGROUND = 10,
84 
85     /**
86      * Ability is in the process of scheduling at the foreground.
87      *
88      * @syscap SystemCapability.Ability.AbilityRuntime.Core
89      * @systemapi
90      * @since 9
91      */
92     FOREGROUNDING = 11,
93 
94     /**
95      * Ability is in the process of scheduling in the background.
96      *
97      * @syscap SystemCapability.Ability.AbilityRuntime.Core
98      * @systemapi
99      * @since 9
100      */
101     BACKGROUNDING = 12
102   }
103 
104   /**
105    * Enum for the user status.
106    *
107    * @enum { number }
108    * @syscap SystemCapability.Ability.AbilityRuntime.Core
109    * @systemapi
110    * @stagemodelonly
111    * @since 12
112    */
113   export enum UserStatus {
114     /**
115      * Indicates the status of the operation that the user clicks to terminate.
116      *
117      * @syscap SystemCapability.Ability.AbilityRuntime.Core
118      * @systemapi
119      * @stagemodelonly
120      * @since 12
121      */
122     ASSERT_TERMINATE = 0,
123 
124     /**
125      * Indicates the status of the operation that the user clicks to continue.
126      *
127      * @syscap SystemCapability.Ability.AbilityRuntime.Core
128      * @systemapi
129      * @stagemodelonly
130      * @since 12
131      */
132     ASSERT_CONTINUE = 1,
133 
134     /**
135      * Indicates the status of the operation that the user clicks to retry.
136      *
137      * @syscap SystemCapability.Ability.AbilityRuntime.Core
138      * @systemapi
139      * @stagemodelonly
140      * @since 12
141      */
142     ASSERT_RETRY = 2
143   }
144 
145   /**
146    * Register Ability foreground or background state observer.
147    *
148    * @permission ohos.permission.RUNNING_STATE_OBSERVER
149    * @param { 'abilityForegroundState' } type - ability foreground or background state.
150    * @param { AbilityForegroundStateObserver } observer - The ability foreground state observer.
151    * @throws { BusinessError } 201 - Permission denied.
152    * @throws { BusinessError } 202 - Not system application.
153    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
154    * 2. Incorrect parameter types; 3. Parameter verification failed.
155    * @throws { BusinessError } 16000050 - Internal error.
156    * @syscap SystemCapability.Ability.AbilityRuntime.Core
157    * @systemapi
158    * @since 11
159    */
160   function on(type: 'abilityForegroundState', observer: AbilityForegroundStateObserver): void;
161 
162   /**
163    * Unregister Ability foreground or background state observer.
164    *
165    * @permission ohos.permission.RUNNING_STATE_OBSERVER
166    * @param { 'abilityForegroundState' } type - ability foreground or background state.
167    * @param { AbilityForegroundStateObserver } [observer] - The ability foreground state observer.
168    * @throws { BusinessError } 201 - Permission denied.
169    * @throws { BusinessError } 202 - Not system application.
170    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
171    * 2. Incorrect parameter types; 3. Parameter verification failed.
172    * @throws { BusinessError } 16000050 - Internal error.
173    * @syscap SystemCapability.Ability.AbilityRuntime.Core
174    * @systemapi
175    * @since 11
176    */
177   function off(type: 'abilityForegroundState', observer?: AbilityForegroundStateObserver): void;
178 
179   /**
180    * Updates the configuration by modifying the configuration.
181    *
182    * @permission ohos.permission.UPDATE_CONFIGURATION
183    * @param { Configuration } config - Indicates the new configuration.
184    * @param { AsyncCallback<void> } callback - The callback of updateConfiguration.
185    * @throws { BusinessError } 201 - Permission denied.
186    * @throws { BusinessError } 202 - Not system application.
187    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
188    * 2. Incorrect parameter types; 3. Parameter verification failed.
189    * @throws { BusinessError } 16000050 - Internal error.
190    * @syscap SystemCapability.Ability.AbilityRuntime.Core
191    * @systemapi
192    * @since 9
193    */
194   function updateConfiguration(config: Configuration, callback: AsyncCallback<void>): void;
195 
196   /**
197    * Updates the configuration by modifying the configuration.
198    *
199    * @permission ohos.permission.UPDATE_CONFIGURATION
200    * @param { Configuration } config - Indicates the new configuration.
201    * @returns { Promise<void> } The promise returned by the function.
202    * @throws { BusinessError } 201 - Permission denied.
203    * @throws { BusinessError } 202 - Not system application.
204    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
205    * 2. Incorrect parameter types; 3. Parameter verification failed.
206    * @throws { BusinessError } 16000050 - Internal error.
207    * @syscap SystemCapability.Ability.AbilityRuntime.Core
208    * @systemapi
209    * @since 9
210    */
211   function updateConfiguration(config: Configuration): Promise<void>;
212 
213   /**
214    * If you apply for permission, you can obtain information about all abilities. If you do not apply, you can only
215    * obtain information about the current ability.
216    *
217    * @permission ohos.permission.GET_RUNNING_INFO
218    * @returns { Promise<Array<AbilityRunningInfo>> } Returns the array of AbilityRunningInfo.
219    * @throws { BusinessError } 202 - Not system application.
220    * @throws { BusinessError } 16000050 - Internal error.
221    * @syscap SystemCapability.Ability.AbilityRuntime.Core
222    * @systemapi
223    * @since 9
224    */
225   function getAbilityRunningInfos(): Promise<Array<AbilityRunningInfo>>;
226 
227   /**
228    * If you apply for permission, you can obtain information about all abilities. If you do not apply, you can only
229    * obtain information about the current ability.
230    *
231    * @permission ohos.permission.GET_RUNNING_INFO
232    * @param { AsyncCallback<Array<AbilityRunningInfo>> } callback - The callback is used to return the array of
233    *                                                                AbilityRunningInfo.
234    * @throws { BusinessError } 202 - Not system application.
235    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
236    * 2. Incorrect parameter types; 3. Parameter verification failed.
237    * @throws { BusinessError } 16000050 - Internal error.
238    * @syscap SystemCapability.Ability.AbilityRuntime.Core
239    * @systemapi
240    * @since 9
241    */
242   function getAbilityRunningInfos(callback: AsyncCallback<Array<AbilityRunningInfo>>): void;
243 
244   /**
245    * If you apply for permission, you can obtain information about all extensions. If you do not apply, you can only
246    * obtain information about the current extension.
247    *
248    * @permission ohos.permission.GET_RUNNING_INFO
249    * @param { number } upperLimit - Get the maximum limit of the number of messages.
250    * @returns { Promise<Array<ExtensionRunningInfo>> } Returns the array of ExtensionRunningInfo.
251    * @throws { BusinessError } 202 - Not system application.
252    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
253    * 2. Incorrect parameter types; 3. Parameter verification failed.
254    * @throws { BusinessError } 16000050 - Internal error.
255    * @syscap SystemCapability.Ability.AbilityRuntime.Core
256    * @systemapi
257    * @since 9
258    */
259   function getExtensionRunningInfos(upperLimit: number): Promise<Array<ExtensionRunningInfo>>;
260 
261   /**
262    * If you apply for permission, you can obtain information about all extensions. If you do not apply, you can only
263    * obtain information about the current extension.
264    *
265    * @permission ohos.permission.GET_RUNNING_INFO
266    * @param { number } upperLimit - Get the maximum limit of the number of messages.
267    * @param { AsyncCallback<Array<ExtensionRunningInfo>> } callback - The callback is used to return the array of
268    *                                                                  ExtensionRunningInfo.
269    * @throws { BusinessError } 202 - Not system application.
270    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
271    * 2. Incorrect parameter types; 3. Parameter verification failed.
272    * @throws { BusinessError } 16000050 - Internal error.
273    * @syscap SystemCapability.Ability.AbilityRuntime.Core
274    * @systemapi
275    * @since 9
276    */
277   function getExtensionRunningInfos(upperLimit: number, callback: AsyncCallback<Array<ExtensionRunningInfo>>): void;
278 
279   /**
280    * Get the top ability information of the display.
281    *
282    * @returns { Promise<ElementName> } Returns the elementName info of the top ability.
283    * @throws { BusinessError } 202 - Not system application.
284    * @throws { BusinessError } 16000050 - Internal error.
285    * @syscap SystemCapability.Ability.AbilityRuntime.Core
286    * @systemapi
287    * @since 9
288    */
289   function getTopAbility(): Promise<ElementName>;
290 
291   /**
292    * Get the top ability information of the display.
293    *
294    * @param { AsyncCallback<ElementName> } callback - The callback is used to return elementName info of top ability.
295    * @throws { BusinessError } 202 - Not system application.
296    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
297    * 2. Incorrect parameter types; 3. Parameter verification failed.
298    * @throws { BusinessError } 16000050 - Internal error.
299    * @syscap SystemCapability.Ability.AbilityRuntime.Core
300    * @systemapi
301    * @since 9
302    */
303   function getTopAbility(callback: AsyncCallback<ElementName>): void;
304 
305   /**
306    * Acquire the shared data from target ability.
307    *
308    * @param { number } missionId - The missionId of target ability.
309    * @param { AsyncCallback<{ [key: string]: Object }> } callback - The callback is used to return the params of sharing
310    *                                                 data and result code.
311    * @throws { BusinessError } 202 - Not system application.
312    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
313    * 2. Incorrect parameter types; 3. Parameter verification failed.
314    * @throws { BusinessError } 16000050 - Internal error.
315    * @syscap SystemCapability.Ability.AbilityRuntime.Core
316    * @systemapi
317    * @since 10
318    */
319   /**
320    * Acquire the shared data from target ability.
321    *
322    * @param { number } missionId - The missionId of target ability.
323    * @param { AsyncCallback<Record<string, Object>> } callback - The callback is used to return the params of sharing
324    *                                                             data and result code.
325    * @throws { BusinessError } 202 - Not system application.
326    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
327    * 2. Incorrect parameter types; 3. Parameter verification failed.
328    * @throws { BusinessError } 16000050 - Internal error.
329    * @syscap SystemCapability.Ability.AbilityRuntime.Core
330    * @systemapi
331    * @since 11
332    */
333   function acquireShareData(missionId: number, callback: AsyncCallback<Record<string, Object>>): void;
334 
335   /**
336    * Acquire the shared data from target ability.
337    *
338    * @param { number } missionId - The missionId of target ability.
339    * @returns { Promise<{ [key: string]: Object }> } The promise returned by the function.
340    * @throws { BusinessError } 202 - Not system application.
341    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
342    * 2. Incorrect parameter types; 3. Parameter verification failed.
343    * @throws { BusinessError } 16000050 - Internal error.
344    * @syscap SystemCapability.Ability.AbilityRuntime.Core
345    * @systemapi
346    * @since 10
347    */
348   /**
349    * Acquire the shared data from target ability.
350    *
351    * @param { number } missionId - The missionId of target ability.
352    * @returns { Promise<Record<string, Object>> } The promise returned by the function.
353    * @throws { BusinessError } 202 - Not system application.
354    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
355    * 2. Incorrect parameter types; 3. Parameter verification failed.
356    * @throws { BusinessError } 16000050 - Internal error.
357    * @syscap SystemCapability.Ability.AbilityRuntime.Core
358    * @systemapi
359    * @since 11
360    */
361   function acquireShareData(missionId: number): Promise<Record<string, Object>>;
362 
363   /**
364    * Notify the result of save as to target ability.
365    * @param { AbilityResult } parameter - Indicates the result to return.
366    * @param { number } requestCode - Request code defined by the user.
367    * @param { AsyncCallback<void> } callback - The callback of the function.
368    * @throws { BusinessError } 201 - Permission denied.
369    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
370    * 2. Incorrect parameter types; 3. Parameter verification failed.
371    * @throws { BusinessError } 16000050 - Internal error.
372    * @syscap SystemCapability.Ability.AbilityRuntime.Core
373    * @systemapi
374    * @StageModelOnly
375    * @since 10
376    */
377   function notifySaveAsResult(parameter: AbilityResult, requestCode: number, callback: AsyncCallback<void>): void;
378 
379   /**
380    * Notify the result of save as to target ability.
381    * @param { AbilityResult } parameter - Indicates the result to return.
382    * @param { number } requestCode - Request code defined by the user.
383    * @returns { Promise<void> } The promise returned by the function.
384    * @throws { BusinessError } 201 - Permission denied.
385    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
386    * 2. Incorrect parameter types; 3. Parameter verification failed.
387    * @throws { BusinessError } 16000050 - Internal error.
388    * @syscap SystemCapability.Ability.AbilityRuntime.Core
389    * @systemapi
390    * @StageModelOnly
391    * @since 10
392    */
393   function notifySaveAsResult(parameter: AbilityResult, requestCode: number): Promise<void>;
394 
395   /**
396    * Get the foreground ui abilities.
397    *
398    * @permission ohos.permission.GET_RUNNING_INFO
399    * @param { AsyncCallback<Array<AbilityStateData>> } callback - The callback is used to return the list of AbilityStateDatas.
400    * @throws { BusinessError } 201 - Permission denied.
401    * @throws { BusinessError } 202 - Not system application.
402    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
403    * 2. Incorrect parameter types; 3. Parameter verification failed.
404    * @throws { BusinessError } 16000050 - Internal error.
405    * @syscap SystemCapability.Ability.AbilityRuntime.Core
406    * @systemapi
407    * @since 11
408    */
409   function getForegroundUIAbilities(callback: AsyncCallback<Array<AbilityStateData>>): void;
410 
411   /**
412    * Get the foreground ui abilities.
413    *
414    * @permission ohos.permission.GET_RUNNING_INFO
415    * @returns { Promise<Array<AbilityStateData>> } Returns the list of AbilityStateDatas.
416    * @throws { BusinessError } 201 - Permission denied.
417    * @throws { BusinessError } 202 - Not system application.
418    * @throws { BusinessError } 16000050 - Internal error.
419    * @syscap SystemCapability.Ability.AbilityRuntime.Core
420    * @systemapi
421    * @since 11
422    */
423   function getForegroundUIAbilities(): Promise<Array<AbilityStateData>>;
424 
425   /**
426    * Querying whether to allow embedded startup of atomic service.
427    *
428    * @param { Context } context - The context that initiates the query request.
429    * @param { string } appId - Globally unique identifier of an application, which is allocated by the cloud.
430    * @returns { Promise<boolean> } Returns the result in the form of callback.
431    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
432    * 2. Incorrect parameter types; 3. Parameter verification failed.
433    * @throws { BusinessError } 16000050 - Internal error.
434    * @syscap SystemCapability.Ability.AbilityRuntime.Core
435    * @systemapi
436    * @StageModelOnly
437    * @since 12
438    */
439   function isEmbeddedOpenAllowed(context: Context, appId: string): Promise<boolean>;
440 
441   /**
442    * Notifies the application of the assertion debugging result.
443    *
444    * @permission ohos.permission.NOTIFY_DEBUG_ASSERT_RESULT
445    * @param { string } sessionId - Indicates the request ID of AssertFault.
446    * @param { UserStatus } status - Operation status of the user.
447    * @returns { Promise<void> } The promise returned by the function.
448    * @throws { BusinessError } 201 - The application does not have permission to call the interface.
449    * @throws { BusinessError } 202 - Not system application.
450    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
451    * 2. Incorrect parameter types; 3. Parameter verification failed.
452    * @throws { BusinessError } 16000050 - Internal error.
453    * @syscap SystemCapability.Ability.AbilityRuntime.Core
454    * @systemapi
455    * @stagemodelonly
456    * @since 12
457    */
458   function notifyDebugAssertResult(sessionId: string, status: UserStatus): Promise<void>;
459 
460   /**
461    * Set the enable status for starting and stopping resident processes.
462    * The caller application can only set the resident status of the configured process.
463    *
464    * @param { string } bundleName - The bundle name of the resident process.
465    * @param { boolean } enable - Set resident process enable status.
466    * @returns { Promise<void> } The promise returned by the function.
467    * @throws { BusinessError } 202 - Not a system application.
468    * @throws { BusinessError } 401 - Parameter error. Possible cause: 1.Non empty package name needs to be provided, 2.The second parameter needs to provide a Boolean type setting value.
469    * @throws { BusinessError } 16000050 - Internal error.
470    * @throws { BusinessError } 16200006 - The caller application can only set the resident status of the configured process.
471    * @syscap SystemCapability.Ability.AbilityRuntime.Core
472    * @systemapi
473    * @since 12
474    */
475   function setResidentProcessEnabled(bundleName: string, enable: boolean): Promise<void>;
476 
477   /**
478    * The class of an ability running information.
479    *
480    * @syscap SystemCapability.Ability.AbilityRuntime.Core
481    * @systemapi
482    * @since 9
483    */
484   export type AbilityRunningInfo = _AbilityRunningInfo;
485 
486   /**
487    * The ability state data.
488    *
489    * @syscap SystemCapability.Ability.AbilityRuntime.Core
490    * @systemapi
491    * @since 11
492    */
493   export type AbilityStateData = _AbilityStateData.default;
494 
495   /**
496    * The class of an extension running information.
497    *
498    * @syscap SystemCapability.Ability.AbilityRuntime.Core
499    * @systemapi
500    * @since 9
501    */
502   export type ExtensionRunningInfo = _ExtensionRunningInfo;
503 
504   /**
505    * The ability foreground state observer.
506    *
507    * @syscap SystemCapability.Ability.AbilityRuntime.Core
508    * @systemapi
509    * @since 11
510    */
511   export type AbilityForegroundStateObserver = _AbilityForegroundStateObserver.default;
512 }
513 
514 export default abilityManager;
515