• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.enterprise.applicationManager(应用管理)
2<!--Kit: MDM Kit-->
3<!--Subsystem: Customization-->
4<!--Owner: @huanleima-->
5<!--Designer: @liuzuming-->
6<!--Tester: @lpw_work-->
7<!--Adviser: @Brilliantry_Rui-->
8
9本模块提供应用管理能力,包括添加应用运行禁止名单、获取应用运行禁止名单、移除应用运行禁止名单等。
10
11> **说明:**
12>
13> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
14>
15> 本模块接口仅可在Stage模型下使用。
16>
17> 本模块接口仅对设备管理应用开放,且调用接口前需激活设备管理应用,具体请参考[MDM Kit开发指南](../../mdm/mdm-kit-guide.md)。[applicationManager.isAppKioskAllowed](#applicationmanagerisappkioskallowed20)除外,该接口对所有应用开放。
18>
19
20## 导入模块
21
22```ts
23import { applicationManager } from '@kit.MDMKit';
24```
25
26## applicationManager.addDisallowedRunningBundlesSync
27
28addDisallowedRunningBundlesSync(admin: Want, appIds: Array\<string>, accountId?: number): void
29
30添加应用至应用运行禁止名单,添加至禁止名单的应用不允许在当前/指定用户下运行。
31
32**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
33
34**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
35
36**模型约束:** 此接口仅可在Stage模型下使用。
37
38
39**参数:**
40
41| 参数名    | 类型                                                    | 必填 | 说明                                                         |
42| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
43| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                               |
44| appIds    | Array&lt;string&gt;                                     | 是   | 应用ID数组,指定具体应用。                                   |
45| accountId | number                                                  | 否   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 |
46
47**错误码**:
48
49以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
50
51| 错误码ID | 错误信息                                                     |
52| -------- | ------------------------------------------------------------ |
53| 9200001  | The application is not an administrator application of the device. |
54| 9200002  | The administrator application does not have permission to manage the device. |
55| 201      | Permission verification failed. The application does not have the permission required to call the API. |
56| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
57
58**示例:**
59
60```ts
61import { applicationManager } from '@kit.MDMKit';
62import { Want } from '@kit.AbilityKit';
63
64let wantTemp: Want = {
65  // 需根据实际情况进行替换
66  bundleName: 'com.example.myapplication',
67  abilityName: 'EntryAbility'
68};
69// 需根据实际情况进行替换
70let appIds: Array<string> = ['com.example.******_******/******5t5CoBM='];
71
72try {
73  applicationManager.addDisallowedRunningBundlesSync(wantTemp, appIds);
74  console.info('Succeeded in adding disallowed running bundles.');
75} catch (err) {
76  console.error(`Failed to add disallowed running bundles. Code is ${err.code}, message is ${err.message}`);
77}
78```
79
80## applicationManager.removeDisallowedRunningBundlesSync
81
82removeDisallowedRunningBundlesSync(admin: Want, appIds:  Array\<string>, accountId?: number): void
83
84将应用从当前/指定用户下的应用运行禁止名单中移除。
85
86**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
87
88**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
89
90**模型约束:** 此接口仅可在Stage模型下使用。
91
92
93**参数:**
94
95| 参数名    | 类型                                                    | 必填 | 说明                                                         |
96| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
97| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                               |
98| appIds    | Array&lt;string&gt;                                     | 是   | 应用ID数组,指定具体应用。                                   |
99| accountId | number                                                  | 否   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。<br> - 调用接口时,若传入accountId,表示指定用户。<br> - 调用接口时,若未传入accountId,表示当前用户。 |
100
101**错误码**:
102
103以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
104
105| 错误码ID | 错误信息                                                     |
106| -------- | ------------------------------------------------------------ |
107| 9200001  | The application is not an administrator application of the device. |
108| 9200002  | The administrator application does not have permission to manage the device. |
109| 201      | Permission verification failed. The application does not have the permission required to call the API. |
110| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
111
112**示例:**
113
114```ts
115import { applicationManager } from '@kit.MDMKit';
116import { Want } from '@kit.AbilityKit';
117
118let wantTemp: Want = {
119  // 需根据实际情况进行替换
120  bundleName: 'com.example.myapplication',
121  abilityName: 'EntryAbility'
122};
123// 需根据实际情况进行替换
124let appIds: Array<string> = ['com.example.******_******/******5t5CoBM='];
125
126try {
127  applicationManager.removeDisallowedRunningBundlesSync(wantTemp, appIds);
128  console.info('Succeeded in removing disallowed running bundles.');
129} catch (err) {
130  console.error(`Failed to remove disallowed running bundles. Code is ${err.code}, message is ${err.message}`);
131}
132```
133
134## applicationManager.getDisallowedRunningBundlesSync
135
136getDisallowedRunningBundlesSync(admin: Want, accountId?: number): Array&lt;string>
137
138获取当前/指定用户下的应用运行禁止名单。
139
140**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
141
142**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
143
144**模型约束:** 此接口仅可在Stage模型下使用。
145
146
147**参数:**
148
149| 参数名    | 类型                                                    | 必填 | 说明                                                         |
150| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
151| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                               |
152| accountId | number                                                  | 否   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。<br/> - 调用接口时,若传入accountId,表示指定用户。<br/> - 调用接口时,若未传入accountId,表示当前用户。 |
153
154**返回值:**
155
156| 类型                | 说明                             |
157| ------------------- | -------------------------------- |
158| Array&lt;string&gt; | 返回当前/指定用户下的应用运行禁止名单。 |
159
160**错误码**:
161
162以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
163
164| 错误码ID | 错误信息                                                     |
165| -------- | ------------------------------------------------------------ |
166| 9200001  | The application is not an administrator application of the device. |
167| 9200002  | The administrator application does not have permission to manage the device. |
168| 201      | Permission verification failed. The application does not have the permission required to call the API. |
169| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
170
171**示例:**
172
173```ts
174import { applicationManager } from '@kit.MDMKit';
175import { Want } from '@kit.AbilityKit';
176
177let wantTemp: Want = {
178  // 需根据实际情况进行替换
179  bundleName: 'com.example.myapplication',
180  abilityName: 'EntryAbility'
181};
182
183try {
184  let result: Array<string> = applicationManager.getDisallowedRunningBundlesSync(wantTemp);
185  console.info(`Succeeded in getting disallowed running bundles, result : ${JSON.stringify(result)}`);
186} catch (err) {
187  console.error(`Failed to get disallowed running bundles. Code is ${err.code}, message is ${err.message}`);
188}
189```
190
191## applicationManager.addAutoStartApps
192
193addAutoStartApps(admin: Want, autoStartApps: Array\<Want>): void
194
195为当前用户添加开机自启动应用名单。通过本接口添加至自启动名单的应用,禁止用户在设备上手动取消应用自启动<!--RP4--><!--RP4End-->,但可通过[removeAutoStartApps](#applicationmanagerremoveautostartapps)接口将应用从自启动名单中移除。
196
197**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
198
199**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
200
201**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。
202
203**模型约束:** 此接口仅可在Stage模型下使用。
204
205**参数:**
206
207| 参数名        | 类型                                                         | 必填 | 说明                                   |
208| ------------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
209| admin         | [Want](../apis-ability-kit/js-apis-app-ability-want.md)      | 是   | 企业设备管理扩展组件。                         |
210| autoStartApps | Array\<[Want](../apis-ability-kit/js-apis-app-ability-want.md)> | 是   | 开机自启动应用数组。数组长度上限为10。例如:如果名单中已有5个应用,则最多再通过本接口设置5个。Want中必须包含bundleName和abilityName。 |
211
212**错误码**:
213
214以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
215
216| 错误码ID | 错误信息                                                     |
217| -------- | ------------------------------------------------------------ |
218| 9200001  | The application is not an administrator application of the device. |
219| 9200002  | The administrator application does not have permission to manage the device. |
220| 201      | Permission verification failed. The application does not have the permission required to call the API. |
221| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
222
223**示例:**
224
225```ts
226import { applicationManager } from '@kit.MDMKit';
227import { Want } from '@kit.AbilityKit';
228
229let wantTemp: Want = {
230  // 需根据实际情况进行替换
231  bundleName: 'com.example.myapplication',
232  abilityName: 'EntryAbility'
233};
234let autoStartApps: Array<Want> = [
235  {
236    // 需根据实际情况进行替换
237    bundleName: 'com.example.autoStartApplication',
238    abilityName: 'EntryAbility'
239  }
240];
241
242try {
243  applicationManager.addAutoStartApps(wantTemp, autoStartApps);
244  console.info('Succeeded in adding auto start applications.');
245} catch(err) {
246  console.error(`Failed to add auto start applications. Code: ${err.code}, message: ${err.message}`);
247}
248```
249
250## applicationManager.removeAutoStartApps
251
252removeAutoStartApps(admin: Want, autoStartApps: Array\<Want>): void
253
254为当前用户删除开机自启动应用名单。
255
256**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
257
258**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
259
260**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。
261
262**模型约束:** 此接口仅可在Stage模型下使用。
263
264**参数:**
265
266| 参数名        | 类型                                                         | 必填 | 说明             |
267| ------------- | ------------------------------------------------------------ | ---- | ---------------- |
268| admin         | [Want](../apis-ability-kit/js-apis-app-ability-want.md)      | 是   | 企业设备管理扩展组件。   |
269| autoStartApps | Array\<[Want](../apis-ability-kit/js-apis-app-ability-want.md)> | 是   | 开机自启动应用数组。Want中必须包含bundleName和abilityName。 |
270
271**错误码**:
272
273以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
274
275| 错误码ID | 错误信息                                                     |
276| -------- | ------------------------------------------------------------ |
277| 9200001  | The application is not an administrator application of the device. |
278| 9200002  | The administrator application does not have permission to manage the device. |
279| 201      | Permission verification failed. The application does not have the permission required to call the API. |
280| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
281
282**示例:**
283
284```ts
285import { applicationManager } from '@kit.MDMKit';
286import { Want } from '@kit.AbilityKit';
287
288let wantTemp: Want = {
289  // 需根据实际情况进行替换
290  bundleName: 'com.example.myapplication',
291  abilityName: 'EntryAbility'
292};
293let autoStartApps: Array<Want> = [
294  {
295    // 需根据实际情况进行替换
296    bundleName: 'com.example.autoStartApplication',
297    abilityName: 'EntryAbility'
298  }
299];
300
301try {
302  applicationManager.removeAutoStartApps(wantTemp, autoStartApps);
303  console.info('Succeeded in removing auto start applications.');
304} catch(err) {
305  console.error(`Failed to remove auto start applications. Code: ${err.code}, message: ${err.message}`);
306}
307```
308## applicationManager.removeAutoStartApps<sup>20+</sup>
309
310removeAutoStartApps(admin: Want, autoStartApps: Array\<Want>, accountId: number): void
311
312删除指定用户的开机自启动应用名单中的指定应用。
313
314**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
315
316**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
317
318**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。
319
320**模型约束:** 此接口仅可在Stage模型下使用。
321
322**参数:**
323
324| 参数名        | 类型                                                         | 必填 | 说明             |
325| ------------- | ------------------------------------------------------------ | ---- | ---------------- |
326| admin         | [Want](../apis-ability-kit/js-apis-app-ability-want.md)      | 是   | 企业设备管理扩展组件。   |
327| autoStartApps | Array\<[Want](../apis-ability-kit/js-apis-app-ability-want.md)> | 是   | 开机自启动应用名单数组。Want中必须包含bundleName和abilityName。 |
328| accountId | number                                                  | 是   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。|
329
330**错误码**:
331
332以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
333
334| 错误码ID | 错误信息                                                     |
335| -------- | ------------------------------------------------------------ |
336| 9200001  | The application is not an administrator application of the device. |
337| 9200002  | The administrator application does not have permission to manage the device. |
338| 201      | Permission verification failed. The application does not have the permission required to call the API. |
339
340**示例:**
341
342```ts
343import { applicationManager } from '@kit.MDMKit';
344import { Want } from '@kit.AbilityKit';
345
346let wantTemp: Want = {
347  // 需根据实际情况进行替换
348  bundleName: 'com.example.myapplication',
349  abilityName: 'EntryAbility'
350};
351
352let autoStartApps: Array<Want> = [
353  // 需根据实际情况进行替换
354  {
355    bundleName: 'com.example.autoStartApplication',
356    abilityName: 'EntryAbility'
357  }
358];
359
360try {
361  applicationManager.removeAutoStartApps(wantTemp, autoStartApps, 100);
362  console.info('Succeeded in removing auto start applications.');
363} catch(err) {
364  console.error(`Failed to remove auto start applications. Code: ${err.code}, message: ${err.message}`);
365}
366```
367
368## applicationManager.getAutoStartApps
369
370getAutoStartApps(admin: Want): Array\<Want>
371
372查询当前用户开机自启动应用名单。
373
374**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
375
376**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
377
378**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。
379
380**模型约束:** 此接口仅可在Stage模型下使用。
381
382**参数:**
383
384| 参数名 | 类型                                                    | 必填 | 说明           |
385| ------ | ------------------------------------------------------- | ---- | -------------- |
386| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。 |
387
388**返回值:**
389
390| 类型                                                         | 说明                 |
391| ------------------------------------------------------------ | -------------------- |
392| Array\<[Want](../apis-ability-kit/js-apis-app-ability-want.md)> | 应用自启动名单数组。 |
393
394**错误码**:
395
396以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
397
398| 错误码ID | 错误信息                                                     |
399| -------- | ------------------------------------------------------------ |
400| 9200001  | The application is not an administrator application of the device. |
401| 9200002  | The administrator application does not have permission to manage the device. |
402| 201      | Permission verification failed. The application does not have the permission required to call the API. |
403| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
404
405**示例:**
406
407```ts
408import { applicationManager } from '@kit.MDMKit';
409import { Want } from '@kit.AbilityKit';
410
411let wantTemp: Want = {
412  // 需根据实际情况进行替换
413  bundleName: 'com.example.myapplication',
414  abilityName: 'EntryAbility'
415};
416
417try {
418  let res: Array<Want> = applicationManager.getAutoStartApps(wantTemp);
419  console.info(`Succeeded in adding auto start apps: ${JSON.stringify(res)}`);
420} catch(err) {
421  console.error(`Failed to auto start apps. Code: ${err.code}, message: ${err.message}`);
422}
423```
424
425## applicationManager.addAutoStartApps<sup>20+</sup>
426
427addAutoStartApps(admin: Want, autoStartApps: Array\<Want>, accountId: number, disallowModify: boolean): void
428
429为指定用户添加开机自启动应用名单,并设置是否禁止该用户手动取消应用自启动<!--RP4--><!--RP4End-->。<br>通过本接口、[addAutoStartApps](#applicationmanageraddautostartapps)接口均可添加开机自启动应用名单,两个接口的设置可同时生效。同一用户下,开机自启动应用名单最多支持包含10个应用。例如:若当前名单中已有3个应用,则最多还能通过本接口为当前用户添加7个应用。
430
431**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
432
433**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
434
435**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。
436
437**模型约束:** 此接口仅可在Stage模型下使用。
438
439**参数:**
440
441| 参数名        | 类型                                                         | 必填 | 说明                                   |
442| ------------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
443| admin         | [Want](../apis-ability-kit/js-apis-app-ability-want.md)      | 是   | 企业设备管理扩展组件。                         |
444| autoStartApps | Array\<[Want](../apis-ability-kit/js-apis-app-ability-want.md)> | 是   | 开机自启动应用名单数组,数组总长度不超过10。Want中必须包含bundleName和abilityName。 |
445| accountId | number                                                  | 是   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。|
446| disallowModify | boolean | 是   | 是否禁止用户手动取消应用自启动,true表示禁止,false表示允许。<!--RP1--><!--RP1End-->|
447
448**错误码**:
449
450以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
451
452| 错误码ID | 错误信息                                                     |
453| -------- | ------------------------------------------------------------ |
454| 9200001  | The application is not an administrator application of the device. |
455| 9200002  | The administrator application does not have permission to manage the device. |
456| 201      | Permission verification failed. The application does not have the permission required to call the API. |
457
458**示例:**
459
460```ts
461import { applicationManager } from '@kit.MDMKit';
462import { Want } from '@kit.AbilityKit';
463
464let wantTemp: Want = {
465  // 需根据实际情况进行替换
466  bundleName: 'com.example.myapplication',
467  abilityName: 'EntryAbility'
468};
469
470let autoStartApps: Array<Want> = [
471  // 需根据实际情况进行替换
472  {
473    bundleName: 'com.example.autoStartApplication',
474    abilityName: 'EntryAbility'
475  }
476];
477
478try {
479  applicationManager.addAutoStartApps(wantTemp, autoStartApps, 100, true);
480  console.info('Succeeded in adding auto start applications and set disllowModify.');
481} catch(err) {
482  console.error(`Failed to add auto start applications and set disallowModify. Code: ${err.code}, message: ${err.message}`);
483}
484```
485
486## applicationManager.getAutoStartApps<sup>20+</sup>
487
488getAutoStartApps(admin: Want, accountId: number): Array\<Want>
489
490查询指定用户下的开机自启动应用名单。
491
492**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
493
494**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
495
496**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。
497
498**模型约束:** 此接口仅可在Stage模型下使用。
499
500**参数:**
501
502| 参数名 | 类型                                                    | 必填 | 说明           |
503| ------ | ------------------------------------------------------- | ---- | -------------- |
504| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。 |
505| accountId | number                                                  | 是   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。|
506
507**返回值:**
508
509| 类型                                                         | 说明                 |
510| ------------------------------------------------------------ | -------------------- |
511| Array\<[Want](../apis-ability-kit/js-apis-app-ability-want.md)> | 应用自启动名单数组。|
512
513**错误码**:
514
515以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
516
517| 错误码ID | 错误信息                                                     |
518| -------- | ------------------------------------------------------------ |
519| 9200001  | The application is not an administrator application of the device. |
520| 9200002  | The administrator application does not have permission to manage the device. |
521| 201      | Permission verification failed. The application does not have the permission required to call the API. |
522
523**示例:**
524
525```ts
526import { applicationManager } from '@kit.MDMKit';
527import { Want } from '@kit.AbilityKit';
528
529let wantTemp: Want = {
530  // 需根据实际情况进行替换
531  bundleName: 'com.example.myapplication',
532  abilityName: 'EntryAbility'
533};
534
535try {
536  let res: Array<Want> = applicationManager.getAutoStartApps(wantTemp, 100);
537  console.info(`Succeeded in getting auto start apps: ${JSON.stringify(res)}`);
538} catch(err) {
539  console.error(`Failed to get auto start apps. Code: ${err.code}, message: ${err.message}`);
540}
541```
542
543## applicationManager.isModifyAutoStartAppsDisallowed<sup>20+</sup>
544
545isModifyAutoStartAppsDisallowed(admin: Want, autoStartApp: Want, accountId: number): boolean
546
547查询指定用户是否禁止取消应用自启动。
548
549**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
550
551**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
552
553**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。
554
555**模型约束:** 此接口仅可在Stage模型下使用。
556
557**参数:**
558
559| 参数名 | 类型                                                    | 必填 | 说明           |
560| ------ | ------------------------------------------------------- | ---- | -------------- |
561| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。 |
562| autoStartApp | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 开机自启动应用。Want中必须包含bundleName和abilityName。 |
563| accountId | number                                                  | 是   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。|
564
565**返回值:**
566
567| 类型                                                         | 说明                 |
568| ------------------------------------------------------------ | -------------------- |
569| boolean | 是否禁止用户取消应用自启动,true表示禁止,false表示允许。<!--PR1--><!--PR1End-->|
570
571**错误码**:
572
573以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
574
575| 错误码ID | 错误信息                                                     |
576| -------- | ------------------------------------------------------------ |
577| 9200001  | The application is not an administrator application of the device. |
578| 9200002  | The administrator application does not have permission to manage the device. |
579| 201      | Permission verification failed. The application does not have the permission required to call the API. |
580
581**示例:**
582
583```ts
584import { applicationManager } from '@kit.MDMKit';
585import { Want } from '@kit.AbilityKit';
586
587let wantTemp: Want = {
588  // 需根据实际情况进行替换
589  bundleName: 'com.example.myapplication',
590  abilityName: 'EntryAbility'
591};
592
593let autoStartApp: Want = {
594  // 需根据实际情况进行替换
595  bundleName: 'com.example.autoStartApplication',
596  abilityName: 'EntryAbility'
597};
598
599try {
600  let res: boolean = applicationManager.isModifyAutoStartAppsDisallowed(wantTemp, autoStartApp, 100);
601  console.info(`Succeeded in getting disallow modify auto start app: ${JSON.stringify(res)}`);
602} catch(err) {
603  console.error(`Failed to get disallow modify auto start app. Code: ${err.code}, message: ${err.message}`);
604}
605```
606
607## applicationManager.addKeepAliveApps<sup>14+</sup>
608
609addKeepAliveApps(admin: Want, bundleNames: Array\<string>, accountId: number): void
610
611添加保活应用名单。<!--RP7--><!--RP7End-->通过本接口添加至保活名单的应用,禁止用户在设备上手动取消保活<!--RP6--><!--RP6End-->,但可通过[removeKeepAliveApps](#applicationmanagerremovekeepaliveapps14)接口将应用从保活名单中移除。如果将应用添加至应用禁止运行名单[addDisallowedRunningBundlesSync](#applicationmanageradddisallowedrunningbundlessync),就不能将应用添加至保活应用名单,否则会报9200010冲突错误码。
612**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
613
614**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
615
616**设备行为差异:** 该接口在PC/2in1设备中可正常调用,在其他设备中返回801错误码。
617
618**模型约束:** 此接口仅可在Stage模型下使用。
619
620
621**参数:**
622
623| 参数名    | 类型                                                    | 必填 | 说明                                                         |
624| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
625| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                               |
626| bundleNames    | Array&lt;string&gt;                                     | 是   | 应用包名数组,指定需要添加至保活名单的应用,最大支持5个。<!--RP5--><!--RP5End-->                                    |
627| accountId | number                                                  | 是   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。|
628
629**错误码**:
630
631以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
632
633| 错误码ID | 错误信息                                                     |
634| -------- | ------------------------------------------------------------ |
635| 9200001  | The application is not an administrator application of the device. |
636| 9200002  | The administrator application does not have permission to manage the device. |
637| 9200010  | A conflict policy has been configured. |
638| 9201005  | Add keep alive applications failed. |
639| 201  | Permission verification failed. The application does not have the permission required to call the API. |
640| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
641| 801      | Capability not supported. Failed to call the API due to limited device capabilities. |
642
643**示例:**
644
645```ts
646import { applicationManager } from '@kit.MDMKit';
647import { Want } from '@kit.AbilityKit';
648
649let wantTemp: Want = {
650  // 需根据实际情况进行替换
651  bundleName: 'com.example.myapplication',
652  abilityName: 'EntryAbility'
653};
654// 需根据实际情况进行替换
655let bundleNames: Array<string> = ['com.example.myapplication'];
656
657try {
658  applicationManager.addKeepAliveApps(wantTemp, bundleNames, 100);
659  console.info('Succeeded in adding keep alive apps.');
660} catch (err) {
661  console.error(`Failed to add keep alive apps. Code is ${err.code}, message is ${err.message}`);
662}
663```
664
665## applicationManager.addKeepAliveApps<sup>20+</sup>
666
667addKeepAliveApps(admin: Want, bundleNames: Array\<string>, accountId: number, disallowModify: boolean): void
668
669添加保活应用名单,并设置是否禁止用户手动取消保活。<br>通过本接口、[addKeepAliveApps](#applicationmanageraddkeepaliveapps14)接口均可添加保活应用名单,两个接口的设置可同时生效。同一用户下,保活应用名单最多支持包含5个应用。例如:若当前名单中已有3个应用,则最多还能通过本接口为当前用户添加2个应用。<br>如果通过[addDisallowedRunningBundlesSync](#applicationmanageradddisallowedrunningbundlessync)接口将应用添加至应用禁止运行名单,就不能将应用添加至保活应用名单,否则会报9200010冲突错误码。
670
671**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
672
673**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
674
675**设备行为差异:** 该接口在PC/2in1设备中可正常调用,在其他设备中返回801错误码。
676
677**模型约束:** 此接口仅可在Stage模型下使用。
678
679**参数:**
680
681| 参数名    | 类型                                                    | 必填 | 说明                                                         |
682| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
683| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                               |
684| bundleNames    | Array&lt;string&gt;                                     | 是   | 应用包名数组,指定需要添加至保活名单的应用,最大支持5个。<br>应用需要满足条件:安装在1用户下(1用户是支持三方应用单例运行的用户),且应用接入[后台服务](../../application-models/app-service-extension-ability.md#实现一个后台服务)<!--RP3--><!--RP3End-->。否则,会报错误码9201005。  |
685| accountId | number                                                  | 是   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。|
686| disallowModify | boolean | 是   | 是否禁止用户手动取消应用保活,true表示禁止,false表示允许。<!--RP2--><!--RP2End--> |
687
688**错误码**:
689
690以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
691
692| 错误码ID | 错误信息                                                     |
693| -------- | ------------------------------------------------------------ |
694| 9200001  | The application is not an administrator application of the device. |
695| 9200002  | The administrator application does not have permission to manage the device. |
696| 9200010  | A conflict policy has been configured. |
697| 9201005  | Add keep alive applications failed. |
698| 201  | Permission verification failed.The application does not have the permission required to call the API. |
699| 801      | Capability not supported. Failed to call the API due to limited device capabilities. |
700
701**示例:**
702
703```ts
704import { applicationManager } from '@kit.MDMKit';
705import { Want } from '@kit.AbilityKit';
706
707let wantTemp: Want = {
708  // 需根据实际情况进行替换
709  bundleName: 'com.example.myapplication',
710  abilityName: 'EntryAbility'
711};
712
713// 需根据实际情况进行替换
714let bundleNames: Array<string> = ['com.example.myapplication'];
715
716try {
717  applicationManager.addKeepAliveApps(wantTemp, bundleNames, 100, true);
718  console.info('Succeeded in adding keep alive apps and set disallowModify.');
719} catch (err) {
720  console.error(`Failed to add keep alive apps and set disallowModify. Code is ${err.code}, message is ${err.message}`);
721}
722```
723
724## applicationManager.removeKeepAliveApps<sup>14+</sup>
725
726removeKeepAliveApps(admin: Want, bundleNames: Array\<string>, accountId: number): void
727
728移除保活应用名单中的指定应用。
729
730**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
731
732**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
733
734**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。
735
736**模型约束:** 此接口仅可在Stage模型下使用。
737
738
739**参数:**
740
741| 参数名    | 类型                                                    | 必填 | 说明                                                         |
742| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
743| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                               |
744| bundleNames    | Array&lt;string&gt;                                     | 是   | 应用包名数组,指定需要移除保活的应用,最大支持5个。                                   |
745| accountId | number                                                  | 是   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。 |
746
747**错误码**:
748
749以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
750
751| 错误码ID | 错误信息                                                     |
752| -------- | ------------------------------------------------------------ |
753| 9200001  | The application is not an administrator application of the device. |
754| 9200002  | The administrator application does not have permission to manage the device. |
755| 201  | Permission verification failed. The application does not have the permission required to call the API. |
756| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
757
758**示例:**
759
760```ts
761import { applicationManager } from '@kit.MDMKit';
762import { Want } from '@kit.AbilityKit';
763
764let wantTemp: Want = {
765  // 需根据实际情况进行替换
766  bundleName: 'com.example.myapplication',
767  abilityName: 'EntryAbility'
768};
769// 需根据实际情况进行替换
770let bundleNames: Array<string> = ['com.example.myapplication'];
771
772try {
773  applicationManager.removeKeepAliveApps(wantTemp, bundleNames, 100);
774  console.info('Succeeded in removing keep alive apps.');
775} catch (err) {
776  console.error(`Failed to remove keep alive apps. Code is ${err.code}, message is ${err.message}`);
777}
778```
779
780## applicationManager.getKeepAliveApps<sup>14+</sup>
781
782getKeepAliveApps(admin: Want, accountId: number): Array&lt;string>
783
784获取保活应用包名。
785
786**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
787
788**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
789
790**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。
791
792**模型约束:** 此接口仅可在Stage模型下使用。
793
794
795**参数:**
796
797| 参数名    | 类型                                                    | 必填 | 说明                                                         |
798| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
799| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                               |
800| accountId | number                                                  | 是   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。 |
801
802**返回值:**
803
804| 类型                | 说明                             |
805| ------------------- | -------------------------------- |
806| Array&lt;string&gt; | 返回指定用户下保活应用的包名。 |
807
808**错误码**:
809
810以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
811
812| 错误码ID | 错误信息                                                     |
813| -------- | ------------------------------------------------------------ |
814| 9200001  | The application is not an administrator application of the device. |
815| 9200002  | The administrator application does not have permission to manage the device. |
816| 201  | Permission verification failed. The application does not have the permission required to call the API. |
817| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
818
819**示例:**
820
821```ts
822import { applicationManager } from '@kit.MDMKit';
823import { Want } from '@kit.AbilityKit';
824
825let wantTemp: Want = {
826  // 需根据实际情况进行替换
827  bundleName: 'com.example.myapplication',
828  abilityName: 'EntryAbility'
829};
830
831try {
832  let result: Array<string> = applicationManager.getKeepAliveApps(wantTemp, 100);
833  console.info('Succeeded in getting keep alive apps.');
834} catch (err) {
835  console.error(`Failed to get keep alive apps. Code is ${err.code}, message is ${err.message}`);
836}
837```
838
839## applicationManager.isModifyKeepAliveAppsDisallowed<sup>20+</sup>
840
841isModifyKeepAliveAppsDisallowed(admin: Want, accountId: number, bundleName: string): boolean
842
843查询应用是否禁止取消保活。
844**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
845
846**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
847
848**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。
849
850**模型约束:** 此接口仅可在Stage模型下使用。
851
852**参数:**
853
854| 参数名 | 类型                                                    | 必填 | 说明           |
855| ------ | ------------------------------------------------------- | ---- | -------------- |
856| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。 |
857| accountId | number                                                  | 是   | 用户ID,取值范围:大于等于0。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。|
858| bundleName | string | 是 | 查询的应用包名。 |
859
860**返回值:**
861
862| 类型                                                         | 说明                 |
863| ------------------------------------------------------------ | -------------------- |
864| boolean | 是否禁止用户手动取消应用保活,true表示禁止,false表示允许。<!--RP2--><!--RP2End-->|
865
866**错误码**:
867
868以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
869
870| 错误码ID | 错误信息                                                     |
871| -------- | ------------------------------------------------------------ |
872| 9200001  | The application is not an administrator application of the device. |
873| 9200002  | The administrator application does not have permission to manage the device. |
874| 201      | Permission verification failed. The application does not have the permission required to call the API. |
875
876**示例:**
877
878```ts
879import { applicationManager } from '@kit.MDMKit';
880import { Want } from '@kit.AbilityKit';
881
882let wantTemp: Want = {
883  // 需根据实际情况进行替换
884  bundleName: 'com.example.myapplication',
885  abilityName: 'EntryAbility'
886};
887
888// 需根据实际情况进行替换
889let keepAliveApp: string = 'com.example.keepAliveApplication';
890
891try {
892  let res: boolean = applicationManager.isModifyKeepAliveAppsDisallowed(wantTemp, 100, keepAliveApp);
893  console.info(`Succeeded in getting disallow modify keep alive app: ${JSON.stringify(res)}`);
894} catch(err) {
895  console.error(`Failed to get disallow modify keep alive app. Code: ${err.code}, message: ${err.message}`);
896}
897```
898
899## applicationManager.clearUpApplicationData<sup>20+</sup>
900
901clearUpApplicationData(admin: Want, bundleName: string, appIndex: number, accountId: number): void
902
903清除应用产生的所有数据。
904
905**需要权限:** ohos.permission.ENTERPRISE_MANAGE_APPLICATION
906
907**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
908
909**模型约束:** 此接口仅可在Stage模型下使用。
910
911
912**参数:**
913
914| 参数名     | 类型                                                    | 必填 | 说明                                                         |
915| ---------  | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
916| admin      | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                               |
917| bundleName | string                                                  | 是   | 应用包名,指定需要清除数据的应用包名。 |
918| appIndex | number                                                    | 是   | 应用分身索引,取值范围:大于等于0的整数。<br> appIndex可以通过@ohos.bundle.bundleManager中的[getAppCloneIdentity](../apis-ability-kit/js-apis-bundleManager.md#bundlemanagergetappcloneidentity14)等接口来获取。|
919| accountId | number                                                   | 是   | 用户ID,取值范围:大于等于0的整数。<br> accountId可以通过@ohos.account.osAccount中的[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9-1)等接口来获取。 |
920
921**错误码**:
922
923以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
924
925| 错误码ID | 错误信息                                                     |
926| -------- | ------------------------------------------------------------ |
927| 9200001  | The application is not an administrator application of the device. |
928| 9200002  | The administrator application does not have permission to manage the device. |
929| 201  | Permission verification failed. The application does not have the permission required to call the API. |
930
931**示例:**
932
933```ts
934import { Want } from '@kit.AbilityKit';
935import { applicationManager } from '@kit.MDMKit';
936
937let wantTemp: Want = {
938  // 需根据实际情况进行替换
939  bundleName: 'com.example.myapplication',
940  abilityName: 'EntryAbility'
941};
942// 需根据实际情况进行替换
943let bundleName: string = 'com.example.exampleapplication';
944
945try {
946  // 需根据实际情况进行替换
947  applicationManager.clearUpApplicationData(wantTemp, bundleName, 0, 100);
948  console.info('Succeeded in clear up application data.');
949} catch (err) {
950  console.error(`Failed to clear up application data. Code is ${err.code}, message is ${err.message}`);
951}
952```
953
954## applicationManager.setAllowedKioskApps<sup>20+</sup>
955
956setAllowedKioskApps(admin: Want, appIdentifiers: Array&lt;string&gt;): void
957
958设置允许在Kiosk模式下运行的应用。
959
960Kiosk模式为系统层面提供的一种应用运行模式,该模式下会将设备锁定在单个应用或者一组应用运行,同时对锁屏状态、状态栏、手势操作和关键功能进行控制,防止用户在设备上启动其它应用或执行其它操作。
961
962**需要权限:** ohos.permission.ENTERPRISE_SET_KIOSK
963
964**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
965
966**模型约束:** 此接口仅可在Stage模型下使用。
967
968**参数:**
969
970| 参数名    | 类型                                                    | 必填 | 说明                                                         |
971| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
972| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                               |
973| appIdentifiers | Array&lt;string&gt;                                   | 是   | 应用[唯一标识符](../apis-ability-kit/js-apis-bundleManager-bundleInfo.md#signatureinfo)的数组,可以通过接口[bundleManager.getBundleInfo](../apis-ability-kit/js-apis-bundleManager.md#bundlemanagergetbundleinfo14-2)获取bundleInfo.signatureInfo.appIdentifier。重复设置时,新设置的数组会覆盖旧的设置,最多设置200个。 |
974
975**错误码**:
976
977以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
978
979| 错误码ID | 错误信息                                                     |
980| -------- | ------------------------------------------------------------ |
981| 9200001  | The application is not an administrator application of the device. |
982| 9200002  | The administrator application does not have permission to manage the device. |
983| 201  | Permission verification failed. The application does not have the permission required to call the API. |
984
985**示例:**
986
987```ts
988import { Want } from '@kit.AbilityKit';
989import { applicationManager } from '@kit.MDMKit';
990
991let wantTemp: Want = {
992  // 需根据实际情况进行替换
993  bundleName: 'com.example.edmtest',
994  abilityName: 'com.example.edmtest.EnterpriseAdminAbility'
995};
996
997try {
998  // 需根据实际情况进行替换
999  let appIdentifiers: Array<string> = ['6917****3569'];
1000  applicationManager.setAllowedKioskApps(wantTemp, appIdentifiers);
1001  console.info('Succeeded in setting allowed kiosk apps.');
1002} catch (err) {
1003  console.error(`Failed to set allowed kiosk apps. Code is ${err.code}, message is ${err.message}`);
1004}
1005```
1006
1007## applicationManager.getAllowedKioskApps<sup>20+</sup>
1008
1009getAllowedKioskApps(admin: Want): Array&lt;string&gt;
1010
1011获取允许在Kiosk模式下运行的应用。
1012
1013**需要权限:** ohos.permission.ENTERPRISE_SET_KIOSK
1014
1015**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
1016
1017**模型约束:** 此接口仅可在Stage模型下使用。
1018
1019**参数:**
1020
1021| 参数名    | 类型                                                    | 必填 | 说明                                                         |
1022| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
1023| admin     | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。                                       |
1024
1025**返回值:**
1026
1027| 类型                | 说明                             |
1028| ------------------- | -------------------------------- |
1029| Array&lt;string&gt; | 允许在Kiosk模式下运行的应用[唯一标识符](../apis-ability-kit/js-apis-bundleManager-bundleInfo.md#signatureinfo)清单。 |
1030
1031**错误码**:
1032
1033以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
1034
1035| 错误码ID | 错误信息                                                     |
1036| -------- | ------------------------------------------------------------ |
1037| 9200001  | The application is not an administrator application of the device. |
1038| 9200002  | The administrator application does not have permission to manage the device. |
1039| 201  | Permission verification failed. The application does not have the permission required to call the API. |
1040
1041**示例:**
1042
1043```ts
1044import { Want } from '@kit.AbilityKit';
1045import { applicationManager } from '@kit.MDMKit';
1046
1047let wantTemp: Want = {
1048  // 需根据实际情况进行替换
1049  bundleName: 'com.example.edmtest',
1050  abilityName: 'com.example.edmtest.EnterpriseAdminAbility'
1051};
1052
1053try {
1054  let appIdentifiers: Array<string> = applicationManager.getAllowedKioskApps(wantTemp);
1055  console.info(`Succeeded in getting allowed kiosk apps, appIdentifiers: ${JSON.stringify(appIdentifiers)}`);
1056} catch (err) {
1057  console.error(`Failed to get allowed kiosk apps. Code is ${err.code}, message is ${err.message}`);
1058}
1059```
1060
1061## applicationManager.isAppKioskAllowed<sup>20+</sup>
1062
1063isAppKioskAllowed(appIdentifier: string): boolean
1064
1065查询某应用是否允许在Kiosk模式下运行。
1066
1067**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
1068
1069**模型约束:** 此接口仅可在Stage模型下使用。
1070
1071**参数:**
1072
1073| 参数名    | 类型                                                    | 必填 | 说明                                                         |
1074| --------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
1075| appIdentifier | string                                                 | 是   | 应用[唯一标识符](../apis-ability-kit/js-apis-bundleManager-bundleInfo.md#signatureinfo),可以通过接口[bundleManager.getBundleInfo](../apis-ability-kit/js-apis-bundleManager.md#bundlemanagergetbundleinfo14-2)获取bundleInfo.signatureInfo.appIdentifier。                                       |
1076
1077**返回值:**
1078
1079| 类型                | 说明                             |
1080| ------------------- | -------------------------------- |
1081| boolean    | true表示允许在Kiosk模式下运行。false表示不允许在Kiosk模式下运行。 |
1082
1083**示例:**
1084
1085```ts
1086import { applicationManager } from '@kit.MDMKit';
1087
1088try {
1089  // 需根据实际情况进行替换
1090  let isAllowed: boolean = applicationManager.isAppKioskAllowed('6917****3569');
1091  console.info(`Succeeded in querying if the app is allowed kiosk, isAllowed: ${isAllowed}`);
1092} catch (err) {
1093  console.error(`Failed to query if the app is allowed kiosk. Code is ${err.code}, message is ${err.message}`);
1094}
1095```
1096
1097## applicationManager.setKioskFeatures<sup>20+</sup>
1098
1099setKioskFeatures(admin: Want, features: Array\<KioskFeature>): void
1100
1101设置Kiosk模式的特征。[进入Kiosk模式](../apis-ability-kit/js-apis-app-ability-kioskManager.md#kioskmanagerenterkioskmode)后,系统会默认禁用通知中心、控制中心和最近任务栏等能力。可通过本接口解除对部分能力的禁用或恢复禁用。
1102
1103**需要权限:** ohos.permission.ENTERPRISE_SET_KIOSK
1104
1105**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
1106
1107**模型约束:** 此接口仅可在Stage模型下使用。
1108
1109**参数:**
1110
1111| 参数名       | 类型                                                    | 必填 | 说明                   |
1112| ------------ | ------------------------------------------------------- | ---- | ---------------------- |
1113| admin        | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。         |
1114| features | Array&lt;[KioskFeature](#kioskfeature20)&gt;           | 是   | Kiosk模式的特征集合。 <br> 当传入空数组时,系统会清空之前下发过的特征,恢复到Kiosk模式的默认状态,即禁用通知中心、控制中心和最近任务栏等能力。|
1115
1116**错误码**:
1117
1118以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
1119
1120| 错误码ID | 错误信息                                                     |
1121| -------- | ------------------------------------------------------------ |
1122| 9200001  | The application is not an administrator application of the device. |
1123| 9200002  | The administrator application does not have permission to manage the device. |
1124| 9200012  | Parameter verification failed.                          |
1125| 201      | Permission verification failed.The application does not have the permission required to call the API. |
1126
1127**示例:**
1128
1129```ts
1130import { Want } from '@kit.AbilityKit';
1131import { applicationManager } from '@kit.MDMKit';
1132
1133let wantTemp: Want = {
1134  // 需根据实际情况进行替换
1135  bundleName: 'com.example.myapplication',
1136  abilityName: 'EntryAbility'
1137};
1138let kioskFeatures: Array<applicationManager.KioskFeature> = [];
1139kioskFeatures.push(applicationManager.KioskFeature.ALLOW_NOTIFICATION_CENTER);
1140kioskFeatures.push(applicationManager.KioskFeature.ALLOW_CONTROL_CENTER);
1141try {
1142  applicationManager.setKioskFeatures(wantTemp, kioskFeatures);
1143  console.info('Succeeded in setting kiosk feature.');
1144} catch (err) {
1145  console.error(`Failed to set kiosk feature. Code is ${err.code}, message is ${err.message}`);
1146}
1147```
1148
1149## KioskFeature<sup>20+</sup>
1150
1151Kiosk模式的特征。
1152
1153**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
1154
1155**模型约束:** 此接口仅可在Stage模型下使用。
1156
1157| 名称                        | 值  | 说明    |
1158| ----------------------------| ----| ------------------------------- |
1159| ALLOW_NOTIFICATION_CENTER   | 1   | 允许进入通知中心。 |
1160| ALLOW_CONTROL_CENTER        | 2   | 允许进入控制中心。 |