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<string> | 是 | 应用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<string> | 是 | 应用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<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<string> | 返回当前/指定用户下的应用运行禁止名单。 | 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<string> | 是 | 应用包名数组,指定需要添加至保活名单的应用,最大支持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<string> | 是 | 应用包名数组,指定需要添加至保活名单的应用,最大支持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<string> | 是 | 应用包名数组,指定需要移除保活的应用,最大支持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<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<string> | 返回指定用户下保活应用的包名。 | 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<string>): 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<string> | 是 | 应用[唯一标识符](../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<string> 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<string> | 允许在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<[KioskFeature](#kioskfeature20)> | 是 | 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 | 允许进入控制中心。 |