1e41f4b71Sopenharmony_ci# @ohos.app.ability.abilityManager (AbilityManager)(系统接口)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciAbilityManager模块提供获取、新增、修改Ability相关信息和状态信息进行的能力。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明:**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。  
8e41f4b71Sopenharmony_ci> 本模块接口均为系统接口,三方应用不支持调用。
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci## 导入模块
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci```ts
13e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
14e41f4b71Sopenharmony_ci```
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci## AbilityState
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ciAbility的状态,该类型为枚举,可配合[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo-sys.md)返回Ability的状态。
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci**系统接口**: 该接口为系统接口。
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 
25e41f4b71Sopenharmony_ci| -------- | -------- | -------- |
26e41f4b71Sopenharmony_ci| INITIAL | 0 | 表示ability为初始化状态。| 
27e41f4b71Sopenharmony_ci| FOCUS | 2 | 表示ability为获焦状态。 |
28e41f4b71Sopenharmony_ci| FOREGROUND | 9 | 表示ability为前台状态。  | 
29e41f4b71Sopenharmony_ci| BACKGROUND | 10 | 表示ability为后台状态。  | 
30e41f4b71Sopenharmony_ci| FOREGROUNDING | 11 | 表示ability为前台调度中状态。  | 
31e41f4b71Sopenharmony_ci| BACKGROUNDING | 12 | 表示ability为后台调度中状态。  | 
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci## UserStatus<sup>12+</sup>
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci用户操作的断言调试结果,该类型为枚举。
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ci**系统接口**: 该接口为系统接口。
38e41f4b71Sopenharmony_ci
39e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 |
42e41f4b71Sopenharmony_ci| -------- | -------- | -------- |
43e41f4b71Sopenharmony_ci| ASSERT_TERMINATE | 0 | 表示用户点击终止的操作的断言调试结果。 |
44e41f4b71Sopenharmony_ci| ASSERT_CONTINUE | 1 | 表示用户点击继续的操作的断言调试结果。 |
45e41f4b71Sopenharmony_ci| ASSERT_RETRY | 2 | 表示用户点击重试的操作的断言调试结果。 |
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci## updateConfiguration
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ciupdateConfiguration(config: Configuration, callback: AsyncCallback\<void>): void
50e41f4b71Sopenharmony_ci
51e41f4b71Sopenharmony_ci通过传入修改的配置项来更新配置(callback形式)。
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
54e41f4b71Sopenharmony_ci
55e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.UPDATE_CONFIGURATION
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
58e41f4b71Sopenharmony_ci 
59e41f4b71Sopenharmony_ci**参数**:
60e41f4b71Sopenharmony_ci
61e41f4b71Sopenharmony_ci| 参数名        | 类型                                       | 必填   | 说明             |
62e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | -------------- |
63e41f4b71Sopenharmony_ci| config    | [Configuration](js-apis-app-ability-configuration.md)   | 是    | 新的配置项,仅需配置需要更新的项。 |
64e41f4b71Sopenharmony_ci| callback  | AsyncCallback\<void>                   | 是    | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。      |
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci**错误码**:
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
71e41f4b71Sopenharmony_ci| ------- | -------- |
72e41f4b71Sopenharmony_ci| 201 | Permission denied. |
73e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
74e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
75e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci**示例**:
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci```ts
80e41f4b71Sopenharmony_ciimport { abilityManager, Configuration, ConfigurationConstant } from '@kit.AbilityKit';
81e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ciconst config: Configuration = {
84e41f4b71Sopenharmony_ci  language: 'Zh-Hans',                 // 简体中文
85e41f4b71Sopenharmony_ci  colorMode: ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT,         // 浅色模式
86e41f4b71Sopenharmony_ci  direction: ConfigurationConstant.Direction.DIRECTION_VERTICAL,       // 垂直方向
87e41f4b71Sopenharmony_ci  screenDensity: ConfigurationConstant.ScreenDensity.SCREEN_DENSITY_SDPI,  // 屏幕像素密度为'sdpi'
88e41f4b71Sopenharmony_ci  displayId: 1,                        // 应用在Id为1的物理屏上显示
89e41f4b71Sopenharmony_ci  hasPointerDevice: true,              // 指针类型设备已连接
90e41f4b71Sopenharmony_ci};
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_citry {
93e41f4b71Sopenharmony_ci  abilityManager.updateConfiguration(config, (err: BusinessError) => {
94e41f4b71Sopenharmony_ci    if (err) {
95e41f4b71Sopenharmony_ci      console.error(`updateConfiguration fail, err: ${JSON.stringify(err)}`);
96e41f4b71Sopenharmony_ci    } else {
97e41f4b71Sopenharmony_ci      console.log('updateConfiguration success.');
98e41f4b71Sopenharmony_ci    }
99e41f4b71Sopenharmony_ci  });
100e41f4b71Sopenharmony_ci} catch (paramError) {
101e41f4b71Sopenharmony_ci  let code: number = (paramError as BusinessError).code;
102e41f4b71Sopenharmony_ci  let message: string = (paramError as BusinessError).message;
103e41f4b71Sopenharmony_ci  console.error(`error.code: ${code}, error.message: ${message}`);
104e41f4b71Sopenharmony_ci}
105e41f4b71Sopenharmony_ci```
106e41f4b71Sopenharmony_ci
107e41f4b71Sopenharmony_ci## updateConfiguration
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ciupdateConfiguration(config: Configuration): Promise\<void>
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_ci通过修改配置来更新配置(Promise形式)。
112e41f4b71Sopenharmony_ci
113e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.UPDATE_CONFIGURATION
116e41f4b71Sopenharmony_ci
117e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci**参数**:
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci| 参数名        | 类型                                       | 必填   | 说明             |
122e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | -------------- |
123e41f4b71Sopenharmony_ci| config    | [Configuration](js-apis-app-ability-configuration.md)   | 是    | 新的配置项,仅需配置需要更新的项。 |
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci**返回值:**
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci| 类型                                       | 说明      |
128e41f4b71Sopenharmony_ci| ---------------------------------------- | ------- |
129e41f4b71Sopenharmony_ci| Promise\<void> | 以Promise方式返回接口运行结果息,可进行错误处理或其他自定义处理。 |
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci**错误码**:
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
134e41f4b71Sopenharmony_ci
135e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
136e41f4b71Sopenharmony_ci| ------- | -------- |
137e41f4b71Sopenharmony_ci| 201 | Permission denied. |
138e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
139e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
140e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ci**示例**:
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci```ts
145e41f4b71Sopenharmony_ciimport { abilityManager, Configuration, ConfigurationConstant } from '@kit.AbilityKit';
146e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';;
147e41f4b71Sopenharmony_ci
148e41f4b71Sopenharmony_ciconst config: Configuration = {
149e41f4b71Sopenharmony_ci  language: 'Zh-Hans',                 // 简体中文
150e41f4b71Sopenharmony_ci  colorMode: ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT,         // 浅色模式
151e41f4b71Sopenharmony_ci  direction: ConfigurationConstant.Direction.DIRECTION_VERTICAL,       // 垂直方向
152e41f4b71Sopenharmony_ci  screenDensity: ConfigurationConstant.ScreenDensity.SCREEN_DENSITY_SDPI,  // 屏幕像素密度为'sdpi'
153e41f4b71Sopenharmony_ci  displayId: 1,                        // 应用在Id为1的物理屏上显示
154e41f4b71Sopenharmony_ci  hasPointerDevice: true,              // 指针类型设备已连接
155e41f4b71Sopenharmony_ci};
156e41f4b71Sopenharmony_ci
157e41f4b71Sopenharmony_citry {
158e41f4b71Sopenharmony_ci  abilityManager.updateConfiguration(config).then(() => {
159e41f4b71Sopenharmony_ci    console.log('updateConfiguration success.');
160e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
161e41f4b71Sopenharmony_ci    console.error(`updateConfiguration fail, err: ${JSON.stringify(err)}`);
162e41f4b71Sopenharmony_ci  });
163e41f4b71Sopenharmony_ci} catch (paramError) {
164e41f4b71Sopenharmony_ci  let code: number = (paramError as BusinessError).code;
165e41f4b71Sopenharmony_ci  let message: string = (paramError as BusinessError).message;
166e41f4b71Sopenharmony_ci  console.error(`error.code: ${code}, error.message: ${message}`);
167e41f4b71Sopenharmony_ci}
168e41f4b71Sopenharmony_ci```
169e41f4b71Sopenharmony_ci
170e41f4b71Sopenharmony_ci## getAbilityRunningInfos
171e41f4b71Sopenharmony_ci
172e41f4b71Sopenharmony_cigetAbilityRunningInfos(callback: AsyncCallback\<Array\<AbilityRunningInfo>>): void
173e41f4b71Sopenharmony_ci
174e41f4b71Sopenharmony_ci获取UIAbility运行相关信息(callback形式)。
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
177e41f4b71Sopenharmony_ci
178e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.GET_RUNNING_INFO
179e41f4b71Sopenharmony_ci
180e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
181e41f4b71Sopenharmony_ci
182e41f4b71Sopenharmony_ci**参数**:
183e41f4b71Sopenharmony_ci
184e41f4b71Sopenharmony_ci| 参数名        | 类型                                       | 必填   | 说明             |
185e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | -------------- |
186e41f4b71Sopenharmony_ci| callback  | AsyncCallback\<Array\<[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo-sys.md)>>  | 是    | 以回调方式返回接口运行结果及运行中的ability信息,可进行错误处理或其他自定义处理。      |
187e41f4b71Sopenharmony_ci
188e41f4b71Sopenharmony_ci**错误码**:
189e41f4b71Sopenharmony_ci
190e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
191e41f4b71Sopenharmony_ci
192e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
193e41f4b71Sopenharmony_ci| ------- | -------- |
194e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
195e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
196e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
197e41f4b71Sopenharmony_ci
198e41f4b71Sopenharmony_ci**示例**:
199e41f4b71Sopenharmony_ci
200e41f4b71Sopenharmony_ci```ts
201e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
202e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
203e41f4b71Sopenharmony_ci
204e41f4b71Sopenharmony_citry {
205e41f4b71Sopenharmony_ci  abilityManager.getAbilityRunningInfos((err: BusinessError, data: Array<abilityManager.AbilityRunningInfo>) => {
206e41f4b71Sopenharmony_ci    if (err) {
207e41f4b71Sopenharmony_ci      console.error(`getAbilityRunningInfos fail, error: ${JSON.stringify(err)}`);
208e41f4b71Sopenharmony_ci    } else {
209e41f4b71Sopenharmony_ci      console.log(`getAbilityRunningInfos success, data: ${JSON.stringify(data)}`);
210e41f4b71Sopenharmony_ci    }
211e41f4b71Sopenharmony_ci  });
212e41f4b71Sopenharmony_ci} catch (paramError) {
213e41f4b71Sopenharmony_ci  let code: number = (paramError as BusinessError).code;
214e41f4b71Sopenharmony_ci  let message: string = (paramError as BusinessError).message;
215e41f4b71Sopenharmony_ci  console.error(`error.code: ${code}, error.message: ${message}`);
216e41f4b71Sopenharmony_ci}
217e41f4b71Sopenharmony_ci```
218e41f4b71Sopenharmony_ci
219e41f4b71Sopenharmony_ci## getAbilityRunningInfos
220e41f4b71Sopenharmony_ci
221e41f4b71Sopenharmony_cigetAbilityRunningInfos(): Promise\<Array\<AbilityRunningInfo>>
222e41f4b71Sopenharmony_ci
223e41f4b71Sopenharmony_ci获取UIAbility运行相关信息(Promise形式)。
224e41f4b71Sopenharmony_ci
225e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
226e41f4b71Sopenharmony_ci
227e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.GET_RUNNING_INFO
228e41f4b71Sopenharmony_ci
229e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
230e41f4b71Sopenharmony_ci
231e41f4b71Sopenharmony_ci**返回值:**
232e41f4b71Sopenharmony_ci
233e41f4b71Sopenharmony_ci| 类型                                       | 说明      |
234e41f4b71Sopenharmony_ci| ---------------------------------------- | ------- |
235e41f4b71Sopenharmony_ci| Promise\<Array\<[AbilityRunningInfo](js-apis-inner-application-abilityRunningInfo-sys.md)>> | 以Promise方式返回接口运行结果及运行中的ability信息,可进行错误处理或其他自定义处理。 |
236e41f4b71Sopenharmony_ci
237e41f4b71Sopenharmony_ci**错误码**:
238e41f4b71Sopenharmony_ci
239e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
240e41f4b71Sopenharmony_ci
241e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
242e41f4b71Sopenharmony_ci| ------- | -------- |
243e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
244e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
245e41f4b71Sopenharmony_ci
246e41f4b71Sopenharmony_ci**示例**:
247e41f4b71Sopenharmony_ci
248e41f4b71Sopenharmony_ci```ts
249e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
250e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
251e41f4b71Sopenharmony_ci
252e41f4b71Sopenharmony_citry {
253e41f4b71Sopenharmony_ci  abilityManager.getAbilityRunningInfos().then((data: Array<abilityManager.AbilityRunningInfo>) => {
254e41f4b71Sopenharmony_ci    console.log(`getAbilityRunningInfos success, data: ${JSON.stringify(data)}`);
255e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
256e41f4b71Sopenharmony_ci    console.error(`getAbilityRunningInfos fail, err: ${JSON.stringify(err)}`);
257e41f4b71Sopenharmony_ci  });
258e41f4b71Sopenharmony_ci} catch (paramError) {
259e41f4b71Sopenharmony_ci  let code: number = (paramError as BusinessError).code;
260e41f4b71Sopenharmony_ci  let message: string = (paramError as BusinessError).message;
261e41f4b71Sopenharmony_ci  console.error(`error.code: ${code}, error.message: ${message}`);
262e41f4b71Sopenharmony_ci}
263e41f4b71Sopenharmony_ci```
264e41f4b71Sopenharmony_ci
265e41f4b71Sopenharmony_ci## getExtensionRunningInfos
266e41f4b71Sopenharmony_ci
267e41f4b71Sopenharmony_cigetExtensionRunningInfos(upperLimit: number, callback: AsyncCallback\<Array\<ExtensionRunningInfo>>): void
268e41f4b71Sopenharmony_ci
269e41f4b71Sopenharmony_ci获取关于运行扩展能力的信息(callback形式)。
270e41f4b71Sopenharmony_ci
271e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
272e41f4b71Sopenharmony_ci
273e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.GET_RUNNING_INFO
274e41f4b71Sopenharmony_ci
275e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
276e41f4b71Sopenharmony_ci
277e41f4b71Sopenharmony_ci**参数**:
278e41f4b71Sopenharmony_ci
279e41f4b71Sopenharmony_ci| 参数名        | 类型                                       | 必填   | 说明             |
280e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | -------------- |
281e41f4b71Sopenharmony_ci| upperLimit | number                                   | 是 | 获取消息数量的最大限制,最大为2<sup>31</sup>-1。 |
282e41f4b71Sopenharmony_ci| callback  | AsyncCallback\<Array\<[ExtensionRunningInfo](js-apis-inner-application-extensionRunningInfo-sys.md)>>  | 是    | 以回调方式返回接口运行结果及运行中的extension信息,可进行错误处理或其他自定义处理。      |
283e41f4b71Sopenharmony_ci
284e41f4b71Sopenharmony_ci**错误码**:
285e41f4b71Sopenharmony_ci
286e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
287e41f4b71Sopenharmony_ci
288e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
289e41f4b71Sopenharmony_ci| ------- | -------- |
290e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
291e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
292e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
293e41f4b71Sopenharmony_ci
294e41f4b71Sopenharmony_ci**示例**:
295e41f4b71Sopenharmony_ci
296e41f4b71Sopenharmony_ci```ts
297e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
298e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
299e41f4b71Sopenharmony_ci
300e41f4b71Sopenharmony_cilet upperLimit = 10;
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_citry {
303e41f4b71Sopenharmony_ci  abilityManager.getExtensionRunningInfos(upperLimit, (err: BusinessError, data: Array<abilityManager.ExtensionRunningInfo>) => {
304e41f4b71Sopenharmony_ci    if (err) {
305e41f4b71Sopenharmony_ci      console.error(`getExtensionRunningInfos fail, err: ${JSON.stringify(err)}`);
306e41f4b71Sopenharmony_ci    } else {
307e41f4b71Sopenharmony_ci      console.log(`getExtensionRunningInfos success, data: ${JSON.stringify(data)}`);
308e41f4b71Sopenharmony_ci    }
309e41f4b71Sopenharmony_ci  });
310e41f4b71Sopenharmony_ci} catch (paramError) {
311e41f4b71Sopenharmony_ci  let code: number = (paramError as BusinessError).code;
312e41f4b71Sopenharmony_ci  let message: string = (paramError as BusinessError).message;
313e41f4b71Sopenharmony_ci  console.error(`error.code: ${code}, error.message: ${message}`);
314e41f4b71Sopenharmony_ci}
315e41f4b71Sopenharmony_ci```
316e41f4b71Sopenharmony_ci
317e41f4b71Sopenharmony_ci## getExtensionRunningInfos
318e41f4b71Sopenharmony_ci
319e41f4b71Sopenharmony_cigetExtensionRunningInfos(upperLimit: number): Promise\<Array\<ExtensionRunningInfo>>
320e41f4b71Sopenharmony_ci
321e41f4b71Sopenharmony_ci获取关于运行扩展能力的信息(Promise形式)。
322e41f4b71Sopenharmony_ci
323e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
324e41f4b71Sopenharmony_ci
325e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.GET_RUNNING_INFO
326e41f4b71Sopenharmony_ci
327e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
328e41f4b71Sopenharmony_ci
329e41f4b71Sopenharmony_ci**参数**:
330e41f4b71Sopenharmony_ci
331e41f4b71Sopenharmony_ci| 参数名        | 类型                                       | 必填   | 说明             |
332e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | -------------- |
333e41f4b71Sopenharmony_ci| upperLimit | number                                   | 是 | 获取消息数量的最大限制,最大为2<sup>31</sup>-1。 |
334e41f4b71Sopenharmony_ci
335e41f4b71Sopenharmony_ci**返回值:**
336e41f4b71Sopenharmony_ci
337e41f4b71Sopenharmony_ci| 类型                                       | 说明      |
338e41f4b71Sopenharmony_ci| ---------------------------------------- | ------- |
339e41f4b71Sopenharmony_ci| Promise\<Array\<[ExtensionRunningInfo](js-apis-inner-application-extensionRunningInfo-sys.md)>> | 以Promise方式返回接口运行结果及运行中的extension信息,可进行错误处理或其他自定义处理。 |
340e41f4b71Sopenharmony_ci
341e41f4b71Sopenharmony_ci**错误码**:
342e41f4b71Sopenharmony_ci
343e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
344e41f4b71Sopenharmony_ci
345e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
346e41f4b71Sopenharmony_ci| ------- | -------- |
347e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
348e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
349e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
350e41f4b71Sopenharmony_ci
351e41f4b71Sopenharmony_ci**示例**:
352e41f4b71Sopenharmony_ci
353e41f4b71Sopenharmony_ci```ts
354e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
355e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
356e41f4b71Sopenharmony_ci
357e41f4b71Sopenharmony_cilet upperLimit = 10;
358e41f4b71Sopenharmony_ci
359e41f4b71Sopenharmony_citry {
360e41f4b71Sopenharmony_ci  abilityManager.getExtensionRunningInfos(upperLimit).then((data: Array<abilityManager.ExtensionRunningInfo>) => {
361e41f4b71Sopenharmony_ci    console.log(`getExtensionRunningInfos success, data: ${JSON.stringify(data)}`);
362e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
363e41f4b71Sopenharmony_ci    console.error(`getExtensionRunningInfos fail, err: ${JSON.stringify(err)}`);
364e41f4b71Sopenharmony_ci  });
365e41f4b71Sopenharmony_ci} catch (paramError) {
366e41f4b71Sopenharmony_ci  let code: number = (paramError as BusinessError).code;
367e41f4b71Sopenharmony_ci  let message: string = (paramError as BusinessError).message;
368e41f4b71Sopenharmony_ci  console.error(`error.code: ${code}, error.message: ${message}`);
369e41f4b71Sopenharmony_ci}
370e41f4b71Sopenharmony_ci```
371e41f4b71Sopenharmony_ci
372e41f4b71Sopenharmony_ci## getTopAbility
373e41f4b71Sopenharmony_ci
374e41f4b71Sopenharmony_cigetTopAbility(callback: AsyncCallback\<ElementName>): void
375e41f4b71Sopenharmony_ci
376e41f4b71Sopenharmony_ci获取窗口焦点的ability接口(callback形式)。
377e41f4b71Sopenharmony_ci
378e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
379e41f4b71Sopenharmony_ci
380e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
381e41f4b71Sopenharmony_ci
382e41f4b71Sopenharmony_ci**参数**:
383e41f4b71Sopenharmony_ci
384e41f4b71Sopenharmony_ci| 参数名        | 类型                                       | 必填   | 说明             |
385e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | -------------- |
386e41f4b71Sopenharmony_ci| callback  | AsyncCallback\<[ElementName](js-apis-bundleManager-elementName.md)>  | 是    | 以回调方式返回接口运行结果及应用名,可进行错误处理或其他自定义处理。      |
387e41f4b71Sopenharmony_ci
388e41f4b71Sopenharmony_ci**错误码**:
389e41f4b71Sopenharmony_ci
390e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
391e41f4b71Sopenharmony_ci
392e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
393e41f4b71Sopenharmony_ci| ------- | -------- |
394e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
395e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
396e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
397e41f4b71Sopenharmony_ci
398e41f4b71Sopenharmony_ci**示例**:
399e41f4b71Sopenharmony_ci
400e41f4b71Sopenharmony_ci```ts
401e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
402e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
403e41f4b71Sopenharmony_ci
404e41f4b71Sopenharmony_ciabilityManager.getTopAbility((err: BusinessError, data) => {
405e41f4b71Sopenharmony_ci  if (err) {
406e41f4b71Sopenharmony_ci    console.error(`getTopAbility fail, err: ${JSON.stringify(err)}`);
407e41f4b71Sopenharmony_ci  } else {
408e41f4b71Sopenharmony_ci    console.log(`getTopAbility success, data: ${JSON.stringify(data)}`);
409e41f4b71Sopenharmony_ci  }
410e41f4b71Sopenharmony_ci});
411e41f4b71Sopenharmony_ci```
412e41f4b71Sopenharmony_ci
413e41f4b71Sopenharmony_ci## getTopAbility
414e41f4b71Sopenharmony_ci
415e41f4b71Sopenharmony_cigetTopAbility(): Promise\<ElementName>
416e41f4b71Sopenharmony_ci
417e41f4b71Sopenharmony_ci获取窗口焦点的ability接口(Promise形式)。
418e41f4b71Sopenharmony_ci
419e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
420e41f4b71Sopenharmony_ci
421e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
422e41f4b71Sopenharmony_ci
423e41f4b71Sopenharmony_ci**返回值:**
424e41f4b71Sopenharmony_ci
425e41f4b71Sopenharmony_ci| 类型                                       | 说明      |
426e41f4b71Sopenharmony_ci| ---------------------------------------- | ------- |
427e41f4b71Sopenharmony_ci| Promise\<[ElementName](js-apis-bundleManager-elementName.md)>| 以Promise方式返回接口运行结果及应用名,可进行错误处理或其他自定义处理。 |
428e41f4b71Sopenharmony_ci
429e41f4b71Sopenharmony_ci**错误码**:
430e41f4b71Sopenharmony_ci
431e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
432e41f4b71Sopenharmony_ci
433e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
434e41f4b71Sopenharmony_ci| ------- | -------- |
435e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
436e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
437e41f4b71Sopenharmony_ci
438e41f4b71Sopenharmony_ci**示例**:
439e41f4b71Sopenharmony_ci
440e41f4b71Sopenharmony_ci```ts
441e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
442e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
443e41f4b71Sopenharmony_ci
444e41f4b71Sopenharmony_ciabilityManager.getTopAbility().then((data) => {
445e41f4b71Sopenharmony_ci  console.log(`getTopAbility success, data: ${JSON.stringify(data)}`);
446e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => {
447e41f4b71Sopenharmony_ci  console.error(`getTopAbility fail, err: ${JSON.stringify(err)}`);
448e41f4b71Sopenharmony_ci});
449e41f4b71Sopenharmony_ci```
450e41f4b71Sopenharmony_ci
451e41f4b71Sopenharmony_ci## acquireShareData<sup>10+</sup>
452e41f4b71Sopenharmony_ci
453e41f4b71Sopenharmony_ciacquireShareData(missionId: number, callback: AsyncCallback\<Record\<string, Object>>): void
454e41f4b71Sopenharmony_ci
455e41f4b71Sopenharmony_ci系统弹框通过该接口发起原子化服务分享,调用到目标UIAbility的onShare,返回分享数据(callback形式)。
456e41f4b71Sopenharmony_ci
457e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
458e41f4b71Sopenharmony_ci
459e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
460e41f4b71Sopenharmony_ci
461e41f4b71Sopenharmony_ci**参数**:
462e41f4b71Sopenharmony_ci
463e41f4b71Sopenharmony_ci| 参数名        | 类型                                       | 必填   | 说明             |
464e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | -------------- |
465e41f4b71Sopenharmony_ci| missionId | number                                   | 是 | 目标应用的missionId,最大为2<sup>31</sup>-1。 |
466e41f4b71Sopenharmony_ci| callback  | AsyncCallback\<Record\<string, Object>>  | 是    | 以回调方式返回接口运行结果及分享得到的数据,可进行错误处理或其他自定义处理。      |
467e41f4b71Sopenharmony_ci
468e41f4b71Sopenharmony_ci**错误码**:
469e41f4b71Sopenharmony_ci
470e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
471e41f4b71Sopenharmony_ci
472e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
473e41f4b71Sopenharmony_ci| ------- | -------- |
474e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
475e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
476e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
477e41f4b71Sopenharmony_ci
478e41f4b71Sopenharmony_ci**示例**:
479e41f4b71Sopenharmony_ci
480e41f4b71Sopenharmony_ci```ts
481e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
482e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
483e41f4b71Sopenharmony_ci
484e41f4b71Sopenharmony_citry {
485e41f4b71Sopenharmony_ci  abilityManager.acquireShareData(1, (err: BusinessError, wantParam: Record<string, Object>) => {
486e41f4b71Sopenharmony_ci    if (err) {
487e41f4b71Sopenharmony_ci      console.error(`acquireShareData fail, err: ${JSON.stringify(err)}`);
488e41f4b71Sopenharmony_ci    } else {
489e41f4b71Sopenharmony_ci      console.log(`acquireShareData success, data: ${JSON.stringify(wantParam)}`);
490e41f4b71Sopenharmony_ci    }
491e41f4b71Sopenharmony_ci  });
492e41f4b71Sopenharmony_ci} catch (paramError) {
493e41f4b71Sopenharmony_ci  let code: number = (paramError as BusinessError).code;
494e41f4b71Sopenharmony_ci  let message: string = (paramError as BusinessError).message;
495e41f4b71Sopenharmony_ci  console.error(`error.code: ${code}, error.message: ${message}`);
496e41f4b71Sopenharmony_ci}
497e41f4b71Sopenharmony_ci```
498e41f4b71Sopenharmony_ci
499e41f4b71Sopenharmony_ci## acquireShareData<sup>10+</sup>
500e41f4b71Sopenharmony_ci
501e41f4b71Sopenharmony_ciacquireShareData(missionId: number): Promise\<Record\<string, Object>>
502e41f4b71Sopenharmony_ci
503e41f4b71Sopenharmony_ci系统弹框通过该接口发起原子化服务分享,调用到目标UIAbility的onShare,返回分享数据(Promise形式)。
504e41f4b71Sopenharmony_ci
505e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
506e41f4b71Sopenharmony_ci
507e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
508e41f4b71Sopenharmony_ci
509e41f4b71Sopenharmony_ci**参数**:
510e41f4b71Sopenharmony_ci
511e41f4b71Sopenharmony_ci| 参数名        | 类型                                       | 必填   | 说明             |
512e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | -------------- |
513e41f4b71Sopenharmony_ci| missionId | number                                   | 是 | 目标应用的missionId,最大为2<sup>31</sup>-1。 |
514e41f4b71Sopenharmony_ci
515e41f4b71Sopenharmony_ci**返回值:**
516e41f4b71Sopenharmony_ci
517e41f4b71Sopenharmony_ci| 类型                                       | 说明      |
518e41f4b71Sopenharmony_ci| ---------------------------------------- | ------- |
519e41f4b71Sopenharmony_ci| Promise\<Record\<string, Object>>| 以Promise方式返回接口运行结果及分享数据,可进行错误处理或其他自定义处理。 |
520e41f4b71Sopenharmony_ci
521e41f4b71Sopenharmony_ci**错误码**:
522e41f4b71Sopenharmony_ci
523e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
524e41f4b71Sopenharmony_ci
525e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
526e41f4b71Sopenharmony_ci| ------- | -------- |
527e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
528e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
529e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
530e41f4b71Sopenharmony_ci
531e41f4b71Sopenharmony_ci**示例**:
532e41f4b71Sopenharmony_ci
533e41f4b71Sopenharmony_ci```ts
534e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
535e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
536e41f4b71Sopenharmony_ci
537e41f4b71Sopenharmony_citry {
538e41f4b71Sopenharmony_ci  abilityManager.acquireShareData(1).then((wantParam: Record<string, Object>) => {
539e41f4b71Sopenharmony_ci    console.log(`acquireShareData success, data: ${JSON.stringify(wantParam)}`);
540e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
541e41f4b71Sopenharmony_ci    console.error(`acquireShareData fail, err: ${JSON.stringify(err)}`);
542e41f4b71Sopenharmony_ci  });
543e41f4b71Sopenharmony_ci} catch (paramError) {
544e41f4b71Sopenharmony_ci  let code: number = (paramError as BusinessError).code;
545e41f4b71Sopenharmony_ci  let message: string = (paramError as BusinessError).message;
546e41f4b71Sopenharmony_ci  console.error(`error.code: ${code}, error.message: ${message}`);
547e41f4b71Sopenharmony_ci}
548e41f4b71Sopenharmony_ci```
549e41f4b71Sopenharmony_ci
550e41f4b71Sopenharmony_ci## notifySaveAsResult<sup>10+</sup>
551e41f4b71Sopenharmony_ci
552e41f4b71Sopenharmony_cinotifySaveAsResult(parameter: AbilityResult, requestCode: number, callback: AsyncCallback\<void>): void
553e41f4b71Sopenharmony_ci
554e41f4b71Sopenharmony_ci该接口仅供[DLP](../apis-data-protection-kit/js-apis-dlppermission.md)(Data Loss Prevention, 数据丢失防护)管理应用使用,其他应用禁止使用,DLP管理应用通过该接口通知沙箱应用另存为结果。使用callback异步回调。
555e41f4b71Sopenharmony_ci
556e41f4b71Sopenharmony_ci**模型约束**:此接口仅可在Stage模型下使用。
557e41f4b71Sopenharmony_ci
558e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
559e41f4b71Sopenharmony_ci
560e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
561e41f4b71Sopenharmony_ci
562e41f4b71Sopenharmony_ci**参数**:
563e41f4b71Sopenharmony_ci
564e41f4b71Sopenharmony_ci| 参数名        | 类型                                       | 必填   | 说明             |
565e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | -------------- |
566e41f4b71Sopenharmony_ci| parameter | [AbilityResult](js-apis-inner-ability-abilityResult.md) | 是 | 返回给调用startAbilityForResult&nbsp;接口调用方的相关信息。 |
567e41f4b71Sopenharmony_ci| requestCode | number                                        | 是 | DLP管理应用传入的请求代码。          |
568e41f4b71Sopenharmony_ci| callback  | AsyncCallback<void\>                             | 是 | 回调函数。当另存为结果通知成功,err为undefined,否则为错误对象。         |
569e41f4b71Sopenharmony_ci
570e41f4b71Sopenharmony_ci**错误码**:
571e41f4b71Sopenharmony_ci
572e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
573e41f4b71Sopenharmony_ci
574e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
575e41f4b71Sopenharmony_ci| ------- | -------- |
576e41f4b71Sopenharmony_ci| 201 | Permission denied. |
577e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
578e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
579e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
580e41f4b71Sopenharmony_ci
581e41f4b71Sopenharmony_ci**示例**:
582e41f4b71Sopenharmony_ci
583e41f4b71Sopenharmony_ci```ts
584e41f4b71Sopenharmony_ciimport { abilityManager, Want, common } from '@kit.AbilityKit';
585e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
586e41f4b71Sopenharmony_ci
587e41f4b71Sopenharmony_cilet want: Want = {
588e41f4b71Sopenharmony_ci  bundleName: 'com.example.myapplication',
589e41f4b71Sopenharmony_ci  abilityName: 'EntryAbility'
590e41f4b71Sopenharmony_ci};
591e41f4b71Sopenharmony_cilet resultCode = 100;
592e41f4b71Sopenharmony_ci// 返回给另存为行为发起方AbilityResult信息
593e41f4b71Sopenharmony_cilet abilityResult: common.AbilityResult = {
594e41f4b71Sopenharmony_ci  want,
595e41f4b71Sopenharmony_ci  resultCode
596e41f4b71Sopenharmony_ci};
597e41f4b71Sopenharmony_cilet requestCode = 1;
598e41f4b71Sopenharmony_citry {
599e41f4b71Sopenharmony_ci  abilityManager.notifySaveAsResult(abilityResult, requestCode, (err: BusinessError) => {
600e41f4b71Sopenharmony_ci    if (err && err.code != 0) {
601e41f4b71Sopenharmony_ci      console.error(`notifySaveAsResult fail, err: ${JSON.stringify(err)}`);
602e41f4b71Sopenharmony_ci    } else {
603e41f4b71Sopenharmony_ci      console.log(`notifySaveAsResult success`);
604e41f4b71Sopenharmony_ci    }
605e41f4b71Sopenharmony_ci  });
606e41f4b71Sopenharmony_ci} catch (paramError) {
607e41f4b71Sopenharmony_ci  let code: number = (paramError as BusinessError).code;
608e41f4b71Sopenharmony_ci  let message: string = (paramError as BusinessError).message;
609e41f4b71Sopenharmony_ci  console.error(`error.code: ${code}, error.message: ${message}`);
610e41f4b71Sopenharmony_ci}
611e41f4b71Sopenharmony_ci```
612e41f4b71Sopenharmony_ci
613e41f4b71Sopenharmony_ci## notifySaveAsResult<sup>10+</sup>
614e41f4b71Sopenharmony_ci
615e41f4b71Sopenharmony_cinotifySaveAsResult(parameter: AbilityResult, requestCode: number): Promise\<void>
616e41f4b71Sopenharmony_ci
617e41f4b71Sopenharmony_ci该接口仅供[DLP](../apis-data-protection-kit/js-apis-dlppermission.md)(Data Loss Prevention, 数据丢失防护)管理应用使用,其他应用禁止使用,DLP管理应用通过该接口通知沙箱应用另存为结果。使用Promise异步回调。
618e41f4b71Sopenharmony_ci
619e41f4b71Sopenharmony_ci**模型约束**:此接口仅可在Stage模型下使用。
620e41f4b71Sopenharmony_ci
621e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
622e41f4b71Sopenharmony_ci
623e41f4b71Sopenharmony_ci**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
624e41f4b71Sopenharmony_ci
625e41f4b71Sopenharmony_ci**参数**:
626e41f4b71Sopenharmony_ci
627e41f4b71Sopenharmony_ci| 参数名        | 类型                                       | 必填   | 说明             |
628e41f4b71Sopenharmony_ci| --------- | ---------------------------------------- | ---- | -------------- |
629e41f4b71Sopenharmony_ci| parameter | [AbilityResult](js-apis-inner-ability-abilityResult.md) | 是 | 返回给调用startAbilityForResult&nbsp;接口调用方的相关信息。 |
630e41f4b71Sopenharmony_ci| requestCode | number                                        | 是 | DLP管理应用传入的请求代码。          |
631e41f4b71Sopenharmony_ci
632e41f4b71Sopenharmony_ci**返回值:**
633e41f4b71Sopenharmony_ci
634e41f4b71Sopenharmony_ci| 类型                                       | 说明      |
635e41f4b71Sopenharmony_ci| ---------------------------------------- | ------- |
636e41f4b71Sopenharmony_ci| Promise<void\>| Promise对象。无返回结果的Promise对象。 |
637e41f4b71Sopenharmony_ci
638e41f4b71Sopenharmony_ci**错误码**:
639e41f4b71Sopenharmony_ci
640e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
641e41f4b71Sopenharmony_ci
642e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
643e41f4b71Sopenharmony_ci| ------- | -------- |
644e41f4b71Sopenharmony_ci| 201 | Permission denied. |
645e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
646e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
647e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
648e41f4b71Sopenharmony_ci
649e41f4b71Sopenharmony_ci**示例**:
650e41f4b71Sopenharmony_ci
651e41f4b71Sopenharmony_ci```ts
652e41f4b71Sopenharmony_ciimport { abilityManager, Want, common } from '@kit.AbilityKit';
653e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
654e41f4b71Sopenharmony_ci
655e41f4b71Sopenharmony_cilet want: Want = {
656e41f4b71Sopenharmony_ci  bundleName: 'com.example.myapplication',
657e41f4b71Sopenharmony_ci  abilityName: 'EntryAbility'
658e41f4b71Sopenharmony_ci};
659e41f4b71Sopenharmony_cilet resultCode = 100;
660e41f4b71Sopenharmony_ci// 返回给另存为行为发起方AbilityResult信息
661e41f4b71Sopenharmony_cilet abilityResult: common.AbilityResult = {
662e41f4b71Sopenharmony_ci  want,
663e41f4b71Sopenharmony_ci  resultCode
664e41f4b71Sopenharmony_ci};
665e41f4b71Sopenharmony_cilet requestCode = 1;
666e41f4b71Sopenharmony_citry {
667e41f4b71Sopenharmony_ci  abilityManager.notifySaveAsResult(abilityResult, requestCode).then(() => {
668e41f4b71Sopenharmony_ci    console.log(`notifySaveAsResult success`);
669e41f4b71Sopenharmony_ci  }).catch((err: BusinessError) => {
670e41f4b71Sopenharmony_ci    console.error(`notifySaveAsResult fail, err: ${JSON.stringify(err)}`);
671e41f4b71Sopenharmony_ci  });
672e41f4b71Sopenharmony_ci} catch (paramError) {
673e41f4b71Sopenharmony_ci  let code: number = (paramError as BusinessError).code;
674e41f4b71Sopenharmony_ci  let message: string = (paramError as BusinessError).message;
675e41f4b71Sopenharmony_ci  console.error(`error.code: ${code}, error.message: ${message}`);
676e41f4b71Sopenharmony_ci}
677e41f4b71Sopenharmony_ci```
678e41f4b71Sopenharmony_ci
679e41f4b71Sopenharmony_ci## abilityManager.on('abilityForegroundState')<sup>11+</sup>
680e41f4b71Sopenharmony_ci
681e41f4b71Sopenharmony_cion(type: 'abilityForegroundState', observer: AbilityForegroundStateObserver): void
682e41f4b71Sopenharmony_ci
683e41f4b71Sopenharmony_ci注册Ability的启动和退出的观测器。
684e41f4b71Sopenharmony_ci
685e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
686e41f4b71Sopenharmony_ci
687e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
688e41f4b71Sopenharmony_ci
689e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
690e41f4b71Sopenharmony_ci
691e41f4b71Sopenharmony_ci**参数:**
692e41f4b71Sopenharmony_ci
693e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 |
694e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- |
695e41f4b71Sopenharmony_ci| type | string | 是 | 调用接口类型,固定填'abilityForegroundState'字符串。 |
696e41f4b71Sopenharmony_ci| observer | [AbilityForegroundStateObserver](js-apis-inner-application-abilityForegroundStateObserver-sys) | 是 | Ability状态观测器,用于观测Ability的启动和退出。 |
697e41f4b71Sopenharmony_ci
698e41f4b71Sopenharmony_ci**错误码**:
699e41f4b71Sopenharmony_ci
700e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
701e41f4b71Sopenharmony_ci
702e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
703e41f4b71Sopenharmony_ci| ------- | -------- |
704e41f4b71Sopenharmony_ci| 201 | Permission denied. |
705e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
706e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
707e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
708e41f4b71Sopenharmony_ci
709e41f4b71Sopenharmony_ci**示例:**
710e41f4b71Sopenharmony_ci
711e41f4b71Sopenharmony_ci```ts
712e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
713e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
714e41f4b71Sopenharmony_ci
715e41f4b71Sopenharmony_cilet observer: abilityManager.AbilityForegroundStateObserver = {
716e41f4b71Sopenharmony_ci  onAbilityStateChanged(abilityStateData) {
717e41f4b71Sopenharmony_ci    console.log(`onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
718e41f4b71Sopenharmony_ci  },
719e41f4b71Sopenharmony_ci};
720e41f4b71Sopenharmony_citry {
721e41f4b71Sopenharmony_ci  abilityManager.on('abilityForegroundState', observer);
722e41f4b71Sopenharmony_ci} catch (paramError) {
723e41f4b71Sopenharmony_ci  let code = (paramError as BusinessError).code;
724e41f4b71Sopenharmony_ci  let message = (paramError as BusinessError).message;
725e41f4b71Sopenharmony_ci  console.error(`error: ${code}, ${message} `);
726e41f4b71Sopenharmony_ci}
727e41f4b71Sopenharmony_ci```
728e41f4b71Sopenharmony_ci
729e41f4b71Sopenharmony_ci## abilityManager.off('abilityForegroundState')<sup>11+</sup>
730e41f4b71Sopenharmony_ci
731e41f4b71Sopenharmony_cioff(type: 'abilityForegroundState', observer?: AbilityForegroundStateObserver): void
732e41f4b71Sopenharmony_ci
733e41f4b71Sopenharmony_ci取消注册Ability启动和退出的观测器。
734e41f4b71Sopenharmony_ci
735e41f4b71Sopenharmony_ci**系统接口**:该接口为系统接口。
736e41f4b71Sopenharmony_ci
737e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
738e41f4b71Sopenharmony_ci
739e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
740e41f4b71Sopenharmony_ci
741e41f4b71Sopenharmony_ci**参数:**
742e41f4b71Sopenharmony_ci
743e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 |
744e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- |
745e41f4b71Sopenharmony_ci| type | string | 是 | 调用接口类型,固定填'abilityForegroundState'字符串。 |
746e41f4b71Sopenharmony_ci| observer | [AbilityForegroundStateObserver](js-apis-inner-application-abilityForegroundStateObserver-sys) | 否 | Ability状态观测器,用于观测Ability的启动和退出。如果未配置该参数,则取消当前应用注册的所有observer。如果配置了该参数,则取消该observer。 |
747e41f4b71Sopenharmony_ci
748e41f4b71Sopenharmony_ci**错误码**:
749e41f4b71Sopenharmony_ci
750e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
751e41f4b71Sopenharmony_ci
752e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
753e41f4b71Sopenharmony_ci| ------- | -------- |
754e41f4b71Sopenharmony_ci| 201 | Permission denied. |
755e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
756e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
757e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
758e41f4b71Sopenharmony_ci
759e41f4b71Sopenharmony_ci**示例:**
760e41f4b71Sopenharmony_ci
761e41f4b71Sopenharmony_ci```ts
762e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
763e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
764e41f4b71Sopenharmony_ci
765e41f4b71Sopenharmony_cilet observer_: abilityManager.AbilityForegroundStateObserver | undefined;
766e41f4b71Sopenharmony_ci// 1.注册应用启动和退出的监听器
767e41f4b71Sopenharmony_cilet observer: abilityManager.AbilityForegroundStateObserver = {
768e41f4b71Sopenharmony_ci  onAbilityStateChanged(abilityStateData: abilityManager.AbilityStateData) {
769e41f4b71Sopenharmony_ci    console.log(`onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
770e41f4b71Sopenharmony_ci  },
771e41f4b71Sopenharmony_ci};
772e41f4b71Sopenharmony_citry {
773e41f4b71Sopenharmony_ci  abilityManager.on('abilityForegroundState', observer);
774e41f4b71Sopenharmony_ci  observer_ = observer;
775e41f4b71Sopenharmony_ci} catch (paramError) {
776e41f4b71Sopenharmony_ci  let code = (paramError as BusinessError).code;
777e41f4b71Sopenharmony_ci  let message = (paramError as BusinessError).message;
778e41f4b71Sopenharmony_ci  console.error(`error: ${code}, ${message} `);
779e41f4b71Sopenharmony_ci}
780e41f4b71Sopenharmony_ci
781e41f4b71Sopenharmony_ci// 2.注销监听器
782e41f4b71Sopenharmony_citry {
783e41f4b71Sopenharmony_ci  abilityManager.off('abilityForegroundState',  observer_);
784e41f4b71Sopenharmony_ci} catch (paramError) {
785e41f4b71Sopenharmony_ci  let code = (paramError as BusinessError).code;
786e41f4b71Sopenharmony_ci  let message = (paramError as BusinessError).message;
787e41f4b71Sopenharmony_ci  console.error(`error: ${code}, ${message} `);
788e41f4b71Sopenharmony_ci}
789e41f4b71Sopenharmony_ci```
790e41f4b71Sopenharmony_ci
791e41f4b71Sopenharmony_ci## abilityManager.getForegroundUIAbilities<sup>11+</sup>
792e41f4b71Sopenharmony_ci
793e41f4b71Sopenharmony_cigetForegroundUIAbilities(callback: AsyncCallback\<Array\<AbilityStateData>>): void
794e41f4b71Sopenharmony_ci
795e41f4b71Sopenharmony_ci获取前台正在运行的应用Ability的信息。
796e41f4b71Sopenharmony_ci
797e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
798e41f4b71Sopenharmony_ci
799e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.GET_RUNNING_INFO
800e41f4b71Sopenharmony_ci
801e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
802e41f4b71Sopenharmony_ci
803e41f4b71Sopenharmony_ci**参数:**
804e41f4b71Sopenharmony_ci
805e41f4b71Sopenharmony_ci  | 参数名 | 类型 | 必填 | 说明 |
806e41f4b71Sopenharmony_ci  | -------- | -------- | -------- | -------- |
807e41f4b71Sopenharmony_ci  | callback | AsyncCallback\<Array\<[AbilityStateData](js-apis-inner-application-abilityStateData-sys.md)>>  | 是 |以回调方式返回接口运行结果及有关前台Ability的信息,可进行错误处理或其他自定义处理。 |
808e41f4b71Sopenharmony_ci
809e41f4b71Sopenharmony_ci**错误码**:
810e41f4b71Sopenharmony_ci
811e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
812e41f4b71Sopenharmony_ci
813e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
814e41f4b71Sopenharmony_ci| ------- | -------- |
815e41f4b71Sopenharmony_ci| 201 | Permission denied. |
816e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
817e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
818e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
819e41f4b71Sopenharmony_ci
820e41f4b71Sopenharmony_ci**示例:**
821e41f4b71Sopenharmony_ci
822e41f4b71Sopenharmony_ci```ts
823e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
824e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
825e41f4b71Sopenharmony_ci
826e41f4b71Sopenharmony_ciabilityManager.getForegroundUIAbilities((err: BusinessError, data: Array<abilityManager.AbilityStateData>) => {
827e41f4b71Sopenharmony_ci  if (err) {
828e41f4b71Sopenharmony_ci    console.error(`Get foreground ui abilities failed, error: ${JSON.stringify(err)}`);
829e41f4b71Sopenharmony_ci  } else {
830e41f4b71Sopenharmony_ci    console.log(`Get foreground ui abilities data is: ${JSON.stringify(data)}`);
831e41f4b71Sopenharmony_ci  }
832e41f4b71Sopenharmony_ci});
833e41f4b71Sopenharmony_ci```
834e41f4b71Sopenharmony_ci
835e41f4b71Sopenharmony_ci## abilityManager.getForegroundUIAbilities<sup>11+</sup>
836e41f4b71Sopenharmony_ci
837e41f4b71Sopenharmony_cigetForegroundUIAbilities(): Promise\<Array\<AbilityStateData>>
838e41f4b71Sopenharmony_ci
839e41f4b71Sopenharmony_ci获取前台正在运行的应用Ability的信息。
840e41f4b71Sopenharmony_ci
841e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
842e41f4b71Sopenharmony_ci
843e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.GET_RUNNING_INFO
844e41f4b71Sopenharmony_ci
845e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
846e41f4b71Sopenharmony_ci
847e41f4b71Sopenharmony_ci**返回值:**
848e41f4b71Sopenharmony_ci
849e41f4b71Sopenharmony_ci| 类型 | 说明 |
850e41f4b71Sopenharmony_ci| -------- | -------- |
851e41f4b71Sopenharmony_ci| Promise\<Array\<[AbilityStateData](js-apis-inner-application-abilityStateData-sys.md)>> | 以Promise方式返回接口运行结果及有关前台Ability的信息,可进行错误处理或其他自定义处理。|
852e41f4b71Sopenharmony_ci
853e41f4b71Sopenharmony_ci**错误码**:
854e41f4b71Sopenharmony_ci
855e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
856e41f4b71Sopenharmony_ci
857e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
858e41f4b71Sopenharmony_ci| ------- | -------- |
859e41f4b71Sopenharmony_ci| 201 | Permission denied. |
860e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
861e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
862e41f4b71Sopenharmony_ci
863e41f4b71Sopenharmony_ci**示例:**
864e41f4b71Sopenharmony_ci
865e41f4b71Sopenharmony_ci```ts
866e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
867e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
868e41f4b71Sopenharmony_ci
869e41f4b71Sopenharmony_ciabilityManager.getForegroundUIAbilities().then((data: Array<abilityManager.AbilityStateData>) => {
870e41f4b71Sopenharmony_ci  console.log(`Get foreground ui abilities data is: ${JSON.stringify(data)}`);
871e41f4b71Sopenharmony_ci}).catch((error: BusinessError) => {
872e41f4b71Sopenharmony_ci  console.error(`Get foreground ui abilities failed, error: ${JSON.stringify(error)}`);
873e41f4b71Sopenharmony_ci});
874e41f4b71Sopenharmony_ci```
875e41f4b71Sopenharmony_ci
876e41f4b71Sopenharmony_ci## abilityManager.notifyDebugAssertResult<sup>12+</sup>
877e41f4b71Sopenharmony_ci
878e41f4b71Sopenharmony_cinotifyDebugAssertResult(sessionId: string, status: UserStatus): Promise\<void>
879e41f4b71Sopenharmony_ci
880e41f4b71Sopenharmony_ci将断言调试结果通知应用程序。使用Promise异步回调。
881e41f4b71Sopenharmony_ci
882e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
883e41f4b71Sopenharmony_ci
884e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.NOTIFY_DEBUG_ASSERT_RESULT
885e41f4b71Sopenharmony_ci
886e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
887e41f4b71Sopenharmony_ci
888e41f4b71Sopenharmony_ci**参数**:
889e41f4b71Sopenharmony_ci
890e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 |
891e41f4b71Sopenharmony_ci| ------- | -------- | -------- | -------- |
892e41f4b71Sopenharmony_ci| sessionId | string | 是 | 指示AssertFault的请求ID。 |
893e41f4b71Sopenharmony_ci| status | [UserStatus](#userstatus12) | 是 | 用户的操作状态。 |
894e41f4b71Sopenharmony_ci
895e41f4b71Sopenharmony_ci**返回值:**
896e41f4b71Sopenharmony_ci
897e41f4b71Sopenharmony_ci| 类型 | 说明 |
898e41f4b71Sopenharmony_ci| -------- | -------- |
899e41f4b71Sopenharmony_ci| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
900e41f4b71Sopenharmony_ci
901e41f4b71Sopenharmony_ci**错误码**:
902e41f4b71Sopenharmony_ci
903e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
904e41f4b71Sopenharmony_ci
905e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
906e41f4b71Sopenharmony_ci| ------- | -------- |
907e41f4b71Sopenharmony_ci| 201 | Permission denied. |
908e41f4b71Sopenharmony_ci| 202 | Not System App. Interface caller is not a system app. |
909e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
910e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
911e41f4b71Sopenharmony_ci
912e41f4b71Sopenharmony_ci**示例:**
913e41f4b71Sopenharmony_ci
914e41f4b71Sopenharmony_ci```ts
915e41f4b71Sopenharmony_ciimport { abilityManager, UIExtensionAbility, wantConstant, Want, UIExtensionContentSession } from '@kit.AbilityKit';
916e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
917e41f4b71Sopenharmony_ci
918e41f4b71Sopenharmony_ciexport default class UiExtAbility extends UIExtensionAbility {
919e41f4b71Sopenharmony_ci  onSessionCreate(want: Want, session: UIExtensionContentSession): void {
920e41f4b71Sopenharmony_ci    let sessionId: string = '';
921e41f4b71Sopenharmony_ci    if (want.parameters) {
922e41f4b71Sopenharmony_ci      sessionId = want.parameters[wantConstant.Params.ASSERT_FAULT_SESSION_ID] as string;
923e41f4b71Sopenharmony_ci    }
924e41f4b71Sopenharmony_ci    let status = abilityManager.UserStatus.ASSERT_TERMINATE;
925e41f4b71Sopenharmony_ci    abilityManager.notifyDebugAssertResult(sessionId, status).then(() => {
926e41f4b71Sopenharmony_ci      console.log('notifyDebugAssertResult success.');
927e41f4b71Sopenharmony_ci    }).catch((err: BusinessError) => {
928e41f4b71Sopenharmony_ci      console.error(`notifyDebugAssertResult failed, error: ${JSON.stringify(err)}`);
929e41f4b71Sopenharmony_ci    });
930e41f4b71Sopenharmony_ci  }
931e41f4b71Sopenharmony_ci}
932e41f4b71Sopenharmony_ci```
933e41f4b71Sopenharmony_ci
934e41f4b71Sopenharmony_ci## abilityManager.isEmbeddedOpenAllowed<sup>12</sup>
935e41f4b71Sopenharmony_ci
936e41f4b71Sopenharmony_ciisEmbeddedOpenAllowed(context: Context, appId: string): Promise\<boolean>
937e41f4b71Sopenharmony_ci
938e41f4b71Sopenharmony_ci判断是否允许嵌入式拉起[EmbeddableUIAbility](js-apis-app-ability-embeddableUIAbility.md)。使用Promise异步回调。
939e41f4b71Sopenharmony_ci
940e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
941e41f4b71Sopenharmony_ci
942e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
943e41f4b71Sopenharmony_ci
944e41f4b71Sopenharmony_ci**参数**:
945e41f4b71Sopenharmony_ci
946e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 |
947e41f4b71Sopenharmony_ci| ------- | -------- | -------- | -------- |
948e41f4b71Sopenharmony_ci| context | [Context](js-apis-inner-application-context.md) | 是 | 嵌入式拉起EmbeddableUIAbility的调用方Context。 |
949e41f4b71Sopenharmony_ci| appId | string | 是 | 应用的唯一标识,由云端统一分配。 |
950e41f4b71Sopenharmony_ci
951e41f4b71Sopenharmony_ci**返回值:**
952e41f4b71Sopenharmony_ci
953e41f4b71Sopenharmony_ci| 类型 | 说明 |
954e41f4b71Sopenharmony_ci| -------- | -------- |
955e41f4b71Sopenharmony_ci| Promise\<boolean> | Promise对象。返回true表示允许嵌入式启动,返回false表示不允许嵌入式启动。 |
956e41f4b71Sopenharmony_ci
957e41f4b71Sopenharmony_ci**错误码**:
958e41f4b71Sopenharmony_ci
959e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
960e41f4b71Sopenharmony_ci
961e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
962e41f4b71Sopenharmony_ci| ------- | -------- |
963e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
964e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
965e41f4b71Sopenharmony_ci
966e41f4b71Sopenharmony_ci**示例:**
967e41f4b71Sopenharmony_ci
968e41f4b71Sopenharmony_ci```ts
969e41f4b71Sopenharmony_ciimport { abilityManager, UIAbility } from '@kit.AbilityKit';
970e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
971e41f4b71Sopenharmony_ci
972e41f4b71Sopenharmony_ciexport default class EntryAbility extends UIAbility {
973e41f4b71Sopenharmony_ci  onForeground() {
974e41f4b71Sopenharmony_ci    let appId: string = '6918661953712445909';
975e41f4b71Sopenharmony_ci    try {
976e41f4b71Sopenharmony_ci      abilityManager.isEmbeddedOpenAllowed(this.context, appId).then((data) => {
977e41f4b71Sopenharmony_ci        console.info(`isEmbeddedOpenAllowed data: ${JSON.stringify(data)}`);
978e41f4b71Sopenharmony_ci      }).catch((err: BusinessError) => {
979e41f4b71Sopenharmony_ci        console.error(`isEmbeddedOpenAllowed failed, code is ${err.code}, message is ${err.message}`);
980e41f4b71Sopenharmony_ci      });
981e41f4b71Sopenharmony_ci    } catch (err) {
982e41f4b71Sopenharmony_ci      // 处理入参错误异常
983e41f4b71Sopenharmony_ci      console.error(`param is invalid, code is ${err.code}, message is ${err.message}`);
984e41f4b71Sopenharmony_ci    }
985e41f4b71Sopenharmony_ci  }
986e41f4b71Sopenharmony_ci}
987e41f4b71Sopenharmony_ci```
988e41f4b71Sopenharmony_ci
989e41f4b71Sopenharmony_ci## abilityManager.setResidentProcessEnabled<sup>12+</sup>
990e41f4b71Sopenharmony_ci
991e41f4b71Sopenharmony_cisetResidentProcessEnabled(bundleName: string, enable: boolean): Promise\<void>
992e41f4b71Sopenharmony_ci
993e41f4b71Sopenharmony_ci常驻进程支持按需启停。
994e41f4b71Sopenharmony_ci
995e41f4b71Sopenharmony_ci**系统接口**:此接口为系统接口。
996e41f4b71Sopenharmony_ci
997e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
998e41f4b71Sopenharmony_ci
999e41f4b71Sopenharmony_ci**参数**:
1000e41f4b71Sopenharmony_ci
1001e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 |
1002e41f4b71Sopenharmony_ci| ------- | -------- | -------- | -------- |
1003e41f4b71Sopenharmony_ci| bundleName | string | 是 | 常驻进程的包名。 |
1004e41f4b71Sopenharmony_ci| enable | boolean | 是 | 常驻进程的使能状态。 true:表示该进程为常驻进程。 false:表示该进程为普通进程,不会进行保活。|
1005e41f4b71Sopenharmony_ci
1006e41f4b71Sopenharmony_ci**返回值:**
1007e41f4b71Sopenharmony_ci
1008e41f4b71Sopenharmony_ci| 类型 | 说明 |
1009e41f4b71Sopenharmony_ci| -------- | -------- |
1010e41f4b71Sopenharmony_ci| Promise\<void> | Promise对象。无返回结果的Promise对象。 |
1011e41f4b71Sopenharmony_ci
1012e41f4b71Sopenharmony_ci**错误码**:
1013e41f4b71Sopenharmony_ci
1014e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。
1015e41f4b71Sopenharmony_ci
1016e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 |
1017e41f4b71Sopenharmony_ci| ------- | -------- |
1018e41f4b71Sopenharmony_ci| 202 | Not a system application. |
1019e41f4b71Sopenharmony_ci| 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 |
1020e41f4b71Sopenharmony_ci| 16000050 | Internal error. |
1021e41f4b71Sopenharmony_ci| 16200006 | The caller application can only set the resident status of the configured process |
1022e41f4b71Sopenharmony_ci
1023e41f4b71Sopenharmony_ci**示例:**
1024e41f4b71Sopenharmony_ci
1025e41f4b71Sopenharmony_ci```ts
1026e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
1027e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
1028e41f4b71Sopenharmony_ci
1029e41f4b71Sopenharmony_citry {
1030e41f4b71Sopenharmony_ci  let residentProcessBundleName: string = 'com.xxx.xxxxxx';
1031e41f4b71Sopenharmony_ci  let enable: boolean = false;
1032e41f4b71Sopenharmony_ci  abilityManager.setResidentProcessEnabled(residentProcessBundleName, enable)
1033e41f4b71Sopenharmony_ci    .then(() => {
1034e41f4b71Sopenharmony_ci      console.log('setResidentProcessEnabled success.');
1035e41f4b71Sopenharmony_ci    })
1036e41f4b71Sopenharmony_ci    .catch((err: BusinessError) => {
1037e41f4b71Sopenharmony_ci      console.error(`setResidentProcessEnabled fail, err: ${JSON.stringify(err)}`);
1038e41f4b71Sopenharmony_ci    });
1039e41f4b71Sopenharmony_ci} catch (err) {
1040e41f4b71Sopenharmony_ci  let code = (err as BusinessError).code;
1041e41f4b71Sopenharmony_ci  let message = (err as BusinessError).message;
1042e41f4b71Sopenharmony_ci  console.error(`setResidentProcessEnabled failed, code is ${code}, message is ${message}`);
1043e41f4b71Sopenharmony_ci}
1044e41f4b71Sopenharmony_ci```
1045