1# @ohos.enterprise.adminManager(企业设备管理)(系统接口) 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 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14> 15> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-term.md#mdm应用设备管理应用)开放。 16> 17> 当前页面仅包含本模块的系统接口,其他公开接口参见。其他公开接口参见[@ohos.enterprise.adminManager](js-apis-enterprise-adminManager.md)。 18 19## 导入模块 20 21```ts 22import { adminManager } from '@kit.MDMKit'; 23``` 24 25## adminManager.enableAdmin 26 27enableAdmin(admin: Want, enterpriseInfo: EnterpriseInfo, type: AdminType, callback: AsyncCallback\<void>): void 28 29激活指定的设备管理应用。超级设备管理应用仅在管理员用户下可激活。激活后,应用不可卸载,其[企业设备管理扩展能力](../../mdm/mdm-kit-term.md#企业设备管理扩展能力)组件将开机自启并在用户切换后自启。使用callback异步回调。 30 31**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 32 33**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 34 35**模型约束:** 此接口仅可在Stage模型下使用。 36 37**系统接口:** 此接口为系统接口。 38 39**参数**: 40 41| 参数名 | 类型 | 必填 | 说明 | 42| -------------- | ----------------------------------- | ---- | ------------------ | 43| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 44| enterpriseInfo | [EnterpriseInfo](#enterpriseinfo) | 是 | 设备管理应用的企业信息。 | 45| type | [AdminType](#admintype) | 是 | 激活的设备管理应用类型。 | 46| callback | AsyncCallback\<void> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 47 48**错误码**: 49 50以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 51 52| 错误码ID | 错误信息 | 53| ------- | --------------------------------------------------------------- | 54| 9200003 | The administrator ability component is invalid. | 55| 9200004 | Failed to activate the administrator application of the device. | 56| 9200007 | The system ability works abnormally. | 57| 201 | Permission verification failed. The application does not have the permission required to call the API. | 58| 202 | Permission verification failed. A non-system application calls a system API. | 59| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 60 61**示例**: 62 63```ts 64import { adminManager } from '@kit.MDMKit'; 65import { Want } from '@kit.AbilityKit'; 66 67let wantTemp: Want = { 68 // 需根据实际情况进行替换 69 bundleName: 'com.example.myapplication', 70 abilityName: 'EntryAbility' 71}; 72let enterpriseInfo: adminManager.EnterpriseInfo = { 73 // 需根据实际情况进行替换 74 name: 'enterprise name', 75 description: 'enterprise description' 76}; 77 78adminManager.enableAdmin(wantTemp, enterpriseInfo, adminManager.AdminType.ADMIN_TYPE_SUPER, (err) => { 79 if (err) { 80 console.error(`Failed to enable admin. Code: ${err.code}, message: ${err.message}`); 81 return; 82 } 83 console.info('Succeeded in enabling admin'); 84}); 85``` 86 87## adminManager.enableAdmin 88 89enableAdmin(admin: Want, enterpriseInfo: EnterpriseInfo, type: AdminType, userId: number, callback: AsyncCallback\<void>): void 90 91激活指定用户(通过userId指定)下指定的设备管理应用,其中超级管理应用仅能在管理员用户下被激活。使用callback异步回调。 92 93**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 94 95**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 96 97**模型约束:** 此接口仅可在Stage模型下使用。 98 99**系统接口:** 此接口为系统接口。 100 101**参数**: 102 103| 参数名 | 类型 | 必填 | 说明 | 104| -------------- | ----------------------------------- | ---- | ---------------------------- | 105| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 106| enterpriseInfo | [EnterpriseInfo](#enterpriseinfo) | 是 | 设备管理应用的企业信息。 | 107| type | [AdminType](#admintype) | 是 | 激活的设备管理应用类型。 | 108| userId | number | 是 | 用户ID,指定具体用户,取值范围:大于等于0。<br>默认值:调用方所在用户。 | 109| callback | AsyncCallback\<void> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 110 111**错误码**: 112 113以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 114 115| 错误码ID | 错误信息 | 116| ------- | --------------------------------------------------------------- | 117| 9200003 | The administrator ability component is invalid. | 118| 9200004 | Failed to activate the administrator application of the device. | 119| 9200007 | The system ability works abnormally. | 120| 201 | Permission verification failed. The application does not have the permission required to call the API. | 121| 202 | Permission verification failed. A non-system application calls a system API. | 122| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 123 124**示例**: 125 126```ts 127import { adminManager } from '@kit.MDMKit'; 128import { Want } from '@kit.AbilityKit'; 129 130let wantTemp: Want = { 131 // 需根据实际情况进行替换 132 bundleName: 'com.example.myapplication', 133 abilityName: 'EntryAbility' 134}; 135let enterpriseInfo: adminManager.EnterpriseInfo = { 136 // 需根据实际情况进行替换 137 name: 'enterprise name', 138 description: 'enterprise description' 139}; 140 141adminManager.enableAdmin(wantTemp, enterpriseInfo, adminManager.AdminType.ADMIN_TYPE_NORMAL, 100, (err) => { 142 if (err) { 143 console.error(`Failed to enable admin. Code: ${err.code}, message: ${err.message}`); 144 return; 145 } 146 console.info('Succeeded in enabling admin'); 147}); 148``` 149 150## adminManager.enableAdmin 151 152enableAdmin(admin: Want, enterpriseInfo: EnterpriseInfo, type: AdminType, userId?: number): Promise\<void> 153 154激活当前/指定用户下指定的设备管理应用,其中超级管理应用仅能在管理员用户下被激活。使用promise异步回调。 155 156**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 157 158**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 159 160**模型约束:** 此接口仅可在Stage模型下使用。 161 162**系统接口:** 此接口为系统接口。 163 164**参数**: 165 166| 参数名 | 类型 | 必填 | 说明 | 167| -------------- | ----------------------------------- | ---- | ---------------------------- | 168| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 169| enterpriseInfo | [EnterpriseInfo](#enterpriseinfo) | 是 | 设备管理应用的企业信息。 | 170| type | [AdminType](#admintype) | 是 | 激活的设备管理应用类型。 | 171| userId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入userId,表示指定用户。<br> - 调用接口时,若未传入userId,表示当前用户。| 172 173**返回值:** 174 175| 类型 | 说明 | 176| ----------------- | ----------------- | 177| Promise\<void> | 无返回结果的Promise对象。当激活设备管理应用失败时,会抛出错误对象。 | 178 179**错误码**: 180 181以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 182 183| 错误码ID | 错误信息 | 184| ------- | --------------------------------------------------------------- | 185| 9200003 | The administrator ability component is invalid. | 186| 9200004 | Failed to activate the administrator application of the device. | 187| 9200007 | The system ability works abnormally. | 188| 201 | Permission verification failed. The application does not have the permission required to call the API. | 189| 202 | Permission verification failed. A non-system application calls a system API. | 190| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 191 192**示例**: 193 194```ts 195import { adminManager } from '@kit.MDMKit'; 196import { Want } from '@kit.AbilityKit'; 197import { BusinessError } from '@kit.BasicServicesKit'; 198 199let wantTemp: Want = { 200 // 需根据实际情况进行替换 201 bundleName: 'com.example.myapplication', 202 abilityName: 'EntryAbility' 203}; 204let enterpriseInfo: adminManager.EnterpriseInfo = { 205 // 需根据实际情况进行替换 206 name: 'enterprise name', 207 description: 'enterprise description' 208}; 209 210adminManager.enableAdmin(wantTemp, enterpriseInfo, adminManager.AdminType.ADMIN_TYPE_NORMAL, 100).catch( 211 (err: BusinessError) => { 212 console.error(`Failed to enable admin. Code: ${err.code}, message: ${err.message}`); 213 }); 214``` 215 216## adminManager.disableAdmin 217 218disableAdmin(admin: Want, callback: AsyncCallback\<void>): void 219 220将当前用户下指定的普通设备管理应用解除激活。使用callback异步回调。 221 222**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 223 224**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 225 226**模型约束:** 此接口仅可在Stage模型下使用。 227 228**系统接口:** 此接口为系统接口。 229 230**参数**: 231 232| 参数名 | 类型 | 必填 | 说明 | 233| -------- | ----------------------------------- | ---- | ------------------- | 234| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 235| callback | AsyncCallback\<void> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 236 237**错误码**: 238 239以下的错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 240 241| 错误码ID | 错误信息 | 242| ------- | ----------------------------------------------------------------- | 243| 9200005 | Failed to deactivate the administrator application of the device. | 244| 201 | Permission verification failed. The application does not have the permission required to call the API. | 245| 202 | Permission verification failed. A non-system application calls a system API. | 246| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 247 248**示例**: 249 250```ts 251import { adminManager } from '@kit.MDMKit'; 252import { Want } from '@kit.AbilityKit'; 253 254let wantTemp: Want = { 255 // 需根据实际情况进行替换 256 bundleName: 'com.example.myapplication', 257 abilityName: 'EntryAbility' 258}; 259 260adminManager.disableAdmin(wantTemp, (err) => { 261 if (err) { 262 console.error(`Failed to disable admin. Code: ${err.code}, message: ${err.message}`); 263 return; 264 } 265 console.info('Succeeded in disabling admin'); 266}); 267``` 268 269## adminManager.disableAdmin 270 271disableAdmin(admin: Want, userId: number, callback: AsyncCallback\<void>): void 272 273将指定用户(通过userId指定)下指定的普通管理应用解除激活。使用callback异步回调。 274 275**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 276 277**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 278 279**模型约束:** 此接口仅可在Stage模型下使用。 280 281**系统接口:** 此接口为系统接口。 282 283**参数**: 284 285| 参数名 | 类型 | 必填 | 说明 | 286| -------- | ----------------------------------- | ---- | ---------------------------- | 287| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 288| userId | number | 是 | 用户ID,指定具体用户,取值范围:大于等于0。<br>默认值:当前用户。 | 289| callback | AsyncCallback\<void> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 290 291**错误码**: 292 293以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 294 295| 错误码ID | 错误信息 | 296| ------- | ----------------------------------------------------------------- | 297| 9200005 | Failed to deactivate the administrator application of the device. | 298| 201 | Permission verification failed. The application does not have the permission required to call the API. | 299| 202 | Permission verification failed. A non-system application calls a system API. | 300| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 301 302**示例**: 303 304```ts 305import { adminManager } from '@kit.MDMKit'; 306import { Want } from '@kit.AbilityKit'; 307 308let wantTemp: Want = { 309 // 需根据实际情况进行替换 310 bundleName: 'com.example.myapplication', 311 abilityName: 'EntryAbility' 312}; 313 314adminManager.disableAdmin(wantTemp, 100, (err) => { 315 if (err) { 316 console.error(`Failed to disable admin. Code: ${err.code}, message: ${err.message}`); 317 return; 318 } 319 console.info('Succeeded in disabling admin'); 320}); 321``` 322 323## adminManager.disableSuperAdmin 324 325disableSuperAdmin(bundleName: String, callback: AsyncCallback\<void>): void 326 327根据bundleName将超级设备管理应用解除激活。使用callback异步回调。 328 329**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 330 331**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 332 333**模型约束:** 此接口仅可在Stage模型下使用。 334 335**系统接口:** 此接口为系统接口。 336 337**参数**: 338 339| 参数名 | 类型 | 必填 | 说明 | 340| ---------- | ----------------------- | ---- | ------------------- | 341| bundleName | String | 是 | 超级设备管理应用的包名。 | 342| callback | AsyncCallback\<void> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 343 344**错误码**: 345 346以下的错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 347 348| 错误码ID | 错误信息 | 349| ------- | ----------------------------------------------------------------- | 350| 9200005 | Failed to deactivate the administrator application of the device. | 351| 201 | Permission verification failed. The application does not have the permission required to call the API. | 352| 202 | Permission verification failed. A non-system application calls a system API. | 353| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 354 355**示例**: 356 357```ts 358import { adminManager } from '@kit.MDMKit'; 359import { Want } from '@kit.AbilityKit'; 360 361// 需根据实际情况进行替换 362let bundleName: string = 'com.example.myapplication'; 363 364adminManager.disableSuperAdmin(bundleName, (err) => { 365 if (err) { 366 console.error(`Failed to disable super admin. Code: ${err.code}, message: ${err.message}`); 367 return; 368 } 369 console.info('Succeeded in disabling super admin'); 370}); 371``` 372 373## adminManager.disableSuperAdmin 374 375disableSuperAdmin(bundleName: String): Promise\<void> 376 377根据bundleName将超级设备管理应用解除激活。使用promise异步回调。 378 379**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 380 381**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 382 383**模型约束:** 此接口仅可在Stage模型下使用。 384 385**系统接口:** 此接口为系统接口。 386 387**参数**: 388 389| 参数名 | 类型 | 必填 | 说明 | 390| ---------- | ------ | ---- | ------------ | 391| bundleName | String | 是 | 超级设备管理应用的包名。 | 392 393**返回值:** 394 395| 类型 | 说明 | 396| ----------------- | ----------------- | 397| Promise\<void> | 无返回结果的Promise对象。当解除激活超级设备管理应用失败时,会抛出错误对象。 | 398 399**错误码**: 400 401以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 402 403| 错误码ID | 错误信息 | 404| ------- | ----------------------------------------------------------------- | 405| 9200005 | Failed to deactivate the administrator application of the device. | 406| 201 | Permission verification failed. The application does not have the permission required to call the API. | 407| 202 | Permission verification failed. A non-system application calls a system API. | 408| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 409 410**示例**: 411 412```ts 413import { adminManager } from '@kit.MDMKit'; 414import { Want } from '@kit.AbilityKit'; 415import { BusinessError } from '@kit.BasicServicesKit'; 416 417// 需根据实际情况进行替换 418let bundleName: string = 'com.example.myapplication'; 419 420adminManager.disableSuperAdmin(bundleName).catch((err: BusinessError) => { 421 console.error(`Failed to disable super admin. Code: ${err.code}, message: ${err.message}`); 422}); 423``` 424 425## adminManager.isAdminEnabled 426 427isAdminEnabled(admin: Want, callback: AsyncCallback\<boolean>): void 428 429查询当前用户下指定的设备管理应用是否被激活。使用callback异步回调。 430 431**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 432 433**模型约束:** 此接口仅可在Stage模型下使用。 434 435**系统接口:** 此接口为系统接口。 436 437**参数**: 438 439| 参数名 | 类型 | 必填 | 说明 | 440| -------- | ----------------------------------- | ---- | -------------------- | 441| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 442| callback | AsyncCallback\<boolean> | 是 | 回调函数,当接口调用成功,err为null,data为boolean值,true表示当前用户下指定的设备管理应用被激活,false表示当前用户下指定的设备管理应用未激活,否则err为错误对象。 | 443 444**错误码**: 445 446以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 447 448| 错误码ID | 错误信息 | 449| -------- | ------------------------------------------------------------ | 450| 202 | Permission verification failed. A non-system application calls a system API. | 451| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 452 453**示例**: 454 455```ts 456import { adminManager } from '@kit.MDMKit'; 457import { Want } from '@kit.AbilityKit'; 458 459let wantTemp: Want = { 460 // 需根据实际情况进行替换 461 bundleName: 'com.example.myapplication', 462 abilityName: 'EntryAbility' 463}; 464 465adminManager.isAdminEnabled(wantTemp, (err, result) => { 466 if (err) { 467 console.error(`Failed to query admin is enabled or not. Code: ${err.code}, message: ${err.message}`); 468 return; 469 } 470 console.info(`Succeeded in querying admin is enabled or not, result : ${result}`); 471}); 472``` 473 474## adminManager.isAdminEnabled 475 476isAdminEnabled(admin: Want, userId: number, callback: AsyncCallback\<boolean>): void 477 478查询指定用户(通过userId指定)下指定的设备管理应用是否被激活。使用callback异步回调。 479 480**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 481 482**模型约束:** 此接口仅可在Stage模型下使用。 483 484**系统接口:** 此接口为系统接口。 485 486**参数**: 487 488| 参数名 | 类型 | 必填 | 说明 | 489| -------- | ----------------------------------- | ---- | ---------------------------- | 490| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 491| userId | number | 是 | 用户ID,指定具体用户,取值范围:大于等于0。<br> 默认值:当前用户。 | 492| callback | AsyncCallback\<boolean> | 是 | 回调函数,当接口调用成功,err为null,data为boolean值,true表示当前用户下指定的设备管理应用被激活,false表示当前用户下指定的设备管理应用未激活,否则err为错误对象。 | 493 494**错误码**: 495 496以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 497 498| 错误码ID | 错误信息 | 499| -------- | ------------------------------------------------------------ | 500| 202 | Permission verification failed. A non-system application calls a system API. | 501| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 502 503**示例**: 504 505```ts 506import { adminManager } from '@kit.MDMKit'; 507import { Want } from '@kit.AbilityKit'; 508 509let wantTemp: Want = { 510 // 需根据实际情况进行替换 511 bundleName: 'com.example.myapplication', 512 abilityName: 'EntryAbility' 513}; 514 515// 参数需根据实际情况进行替换 516adminManager.isAdminEnabled(wantTemp, 100, (err, result) => { 517 if (err) { 518 console.error(`Failed to query admin is enabled. Code: ${err.code}, message: ${err.message}`); 519 return; 520 } 521 console.info(`Succeeded in querying admin is enabled or not, result : ${result}`); 522}); 523``` 524 525## adminManager.isAdminEnabled 526 527isAdminEnabled(admin: Want, userId?: number): Promise\<boolean> 528 529查询当前/指定用户下指定的设备管理应用是否被激活。使用promise异步回调。 530 531**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 532 533**模型约束:** 此接口仅可在Stage模型下使用。 534 535**系统接口:** 此接口为系统接口。 536 537**参数**: 538 539| 参数名 | 类型 | 必填 | 说明 | 540| ------ | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 541| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 542| userId | number | 否 | 用户ID,取值范围:大于等于0。<br> - 调用接口时,若传入userId,表示指定用户。<br> - 调用接口时,若未传入userId,表示当前用户。 | 543 544**返回值:** 545 546| 类型 | 说明 | 547| ----------------- | ------------------- | 548| Promise\<boolean> | Promise对象, 返回true表示指定的设备管理应用被激活,返回false表示指定的设备管理应用未激活。| 549 550**错误码**: 551 552以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 553 554| 错误码ID | 错误信息 | 555| -------- | ------------------------------------------------------------ | 556| 202 | Permission verification failed. A non-system application calls a system API. | 557| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 558 559**示例**: 560 561```ts 562import { adminManager } from '@kit.MDMKit'; 563import { Want } from '@kit.AbilityKit'; 564import { BusinessError } from '@kit.BasicServicesKit'; 565 566let wantTemp: Want = { 567 // 需根据实际情况进行替换 568 bundleName: 'com.example.myapplication', 569 abilityName: 'EntryAbility' 570}; 571 572// 参数需根据实际情况进行替换 573adminManager.isAdminEnabled(wantTemp, 100).then((result) => { 574 console.info(`Succeeded in querying admin is enabled or not, result : ${result}`); 575}).catch((err: BusinessError) => { 576 console.error(`Failed to query admin is enabled or not. Code: ${err.code}, message: ${err.message}`); 577}); 578``` 579 580## adminManager.isSuperAdmin 581 582isSuperAdmin(bundleName: String, callback: AsyncCallback\<boolean>): void 583 584根据bundleName查询管理员用户下的超级设备管理应用是否被激活。使用callback异步回调。 585 586**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 587 588**模型约束:** 此接口仅可在Stage模型下使用。 589 590**系统接口:** 此接口为系统接口。 591 592**参数**: 593 594| 参数名 | 类型 | 必填 | 说明 | 595| ---------- | ----------------------- | ---- | -------------------- | 596| bundleName | String | 是 | 超级设备管理应用。 | 597| callback | AsyncCallback\<boolean> | 是 | 回调函数,当接口调用成功,err为null,data为boolean类型值,true表示当前用户下指定的设备管理应用被激活,false表示当前用户下指定的设备管理应用未激活,否则err为错误对象。 | 598 599**错误码**: 600 601以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 602 603| 错误码ID | 错误信息 | 604| -------- | ------------------------------------------------------------ | 605| 202 | Permission verification failed. A non-system application calls a system API. | 606| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 607 608**示例**: 609 610```ts 611import { adminManager } from '@kit.MDMKit'; 612import { Want } from '@kit.AbilityKit'; 613 614// 需根据实际情况进行替换 615let bundleName: string = 'com.example.myapplication'; 616 617adminManager.isSuperAdmin(bundleName, (err, result) => { 618 if (err) { 619 console.error(`Failed to query admin is super admin or not. Code: ${err.code}, message: ${err.message}`); 620 return; 621 } 622 console.info(`Succeeded in querying admin is super admin or not, result : ${result}`); 623}); 624``` 625 626## adminManager.isSuperAdmin 627 628isSuperAdmin(bundleName: String): Promise\<boolean> 629 630根据bundleName查询管理员用户下的超级设备管理应用是否被激活。使用promise异步回调。 631 632**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 633 634**模型约束:** 此接口仅可在Stage模型下使用。 635 636**系统接口:** 此接口为系统接口。 637 638**参数**: 639 640| 参数名 | 类型 | 必填 | 说明 | 641| ---------- | ------ | ---- | --------- | 642| bundleName | String | 是 | 超级设备管理应用。 | 643 644**返回值:** 645 646| 类型 | 说明 | 647| ----------------- | ------------------- | 648| Promise\<boolean> | Promise对象, 返回true表示指定的超级设备管理应用被激活,返回false表示指定的超级设备管理应用未激活。 | 649 650**错误码**: 651 652以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 653 654| 错误码ID | 错误信息 | 655| -------- | ------------------------------------------------------------ | 656| 202 | Permission verification failed. A non-system application calls a system API. | 657| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 658 659**示例**: 660 661```ts 662import { adminManager } from '@kit.MDMKit'; 663import { Want } from '@kit.AbilityKit'; 664import { BusinessError } from '@kit.BasicServicesKit'; 665 666// 需根据实际情况进行替换 667let bundleName: string = 'com.example.myapplication'; 668 669adminManager.isSuperAdmin(bundleName).then((result) => { 670 console.info(`Succeeded in querying admin is super admin or not, result : ${result}`); 671}).catch((err: BusinessError) => { 672 console.error(`Failed to query admin is super admin or not. Code: ${err.code}, message: ${err.message}`); 673}); 674``` 675 676## adminManager.getSuperAdmin<sup>12+</sup> 677 678getSuperAdmin(): Promise\<Want> 679 680查询管理员用户下的超级设备管理应用。使用promise异步回调。 681 682**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 683 684**模型约束:** 此接口仅可在Stage模型下使用。 685 686**系统接口:** 此接口为系统接口。 687 688**返回值:** 689 690| 类型 | 说明 | 691| ------------------------------------------------------------ | ------------------------------------------------------------ | 692| Promise\<[Want](../apis-ability-kit/js-apis-app-ability-want.md)> | 返回超级设备管理应用的Promise对象。当设备没有激活超级管理应用时,返回的Promise中Want的bundleName与abilityName为空串。 | 693 694**错误码**: 695 696以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 697 698| 错误码ID | 错误信息 | 699| -------- | ------------------------------------------------------------ | 700| 202 | Permission verification failed. A non-system application calls a system API. | 701 702**示例**: 703 704```ts 705import { adminManager } from '@kit.MDMKit'; 706import { BusinessError } from '@kit.BasicServicesKit'; 707 708adminManager.getSuperAdmin().then((result) => { 709 console.info(`Succeeded in getting super admin :${JSON.stringify(result)}`); 710}).catch((err: BusinessError) => { 711 console.error(`Failed to get super admin. Code: ${err.code}, message: ${err.message}`); 712}) 713``` 714 715## adminManager.setEnterpriseInfo 716 717setEnterpriseInfo(admin: Want, enterpriseInfo: EnterpriseInfo, callback: AsyncCallback\<void>): void 718 719设置设备管理应用的企业信息。使用callback异步回调。 720 721**需要权限:** ohos.permission.SET_ENTERPRISE_INFO 722 723**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 724 725**模型约束:** 此接口仅可在Stage模型下使用。 726 727**系统接口:** 此接口为系统接口。 728 729**参数:** 730 731| 参数名 | 类型 | 必填 | 说明 | 732| -------------- | ----------------------------------- | ---- | ---------------------- | 733| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 734| enterpriseInfo | [EnterpriseInfo](#enterpriseinfo) | 是 | 设备管理应用的企业信息。 | 735| callback | AsyncCallback\<void> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 736 737**错误码**: 738 739以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 740 741| 错误码ID | 错误信息 | 742| ------- | ----------------------------------------------------- | 743| 9200001 | The application is not an administrator application of the device. | 744| 201 | Permission verification failed. The application does not have the permission required to call the API. | 745| 202 | Permission verification failed. A non-system application calls a system API. | 746| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 747 748**示例:** 749 750```ts 751import { adminManager } from '@kit.MDMKit'; 752import { Want } from '@kit.AbilityKit'; 753 754let wantTemp: Want = { 755 // 需根据实际情况进行替换 756 bundleName: 'com.example.myapplication', 757 abilityName: 'EntryAbility' 758}; 759let enterpriseInfo: adminManager.EnterpriseInfo = { 760 // 需根据实际情况进行替换 761 name: 'enterprise name', 762 description: 'enterprise description' 763}; 764 765adminManager.setEnterpriseInfo(wantTemp, enterpriseInfo, (err) => { 766 if (err) { 767 console.error(`Failed to set enterprise info. Code: ${err.code}, message: ${err.message}`); 768 return; 769 } 770 console.info('Succeeded in setting enterprise info'); 771}); 772``` 773 774## adminManager.setEnterpriseInfo 775 776setEnterpriseInfo(admin: Want, enterpriseInfo: EnterpriseInfo): Promise\<void> 777 778设置设备管理应用的企业信息。使用promise异步回调。 779 780**需要权限:** ohos.permission.SET_ENTERPRISE_INFO 781 782**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 783 784**模型约束:** 此接口仅可在Stage模型下使用。 785 786**系统接口:** 此接口为系统接口。 787 788**参数:** 789 790| 参数名 | 类型 | 必填 | 说明 | 791| -------------- | ----------------------------------- | ---- | ------------ | 792| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 793| enterpriseInfo | [EnterpriseInfo](#enterpriseinfo) | 是 | 设备管理应用的企业信息。 | 794 795**返回值:** 796 797| 类型 | 说明 | 798| ----------------- | --------------------- | 799| Promise\<void> | 无返回结果的Promise对象。当设置设备管理应用企业信息失败时,会抛出错误对象。 | 800 801**错误码**: 802 803以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 804 805| 错误码ID | 错误信息 | 806| ------- | ----------------------------------------------------- | 807| 9200001 | The application is not an administrator application of the device. | 808| 201 | Permission verification failed. The application does not have the permission required to call the API. | 809| 202 | Permission verification failed. A non-system application calls a system API. | 810| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 811 812**示例:** 813 814```ts 815import { adminManager } from '@kit.MDMKit'; 816import { Want } from '@kit.AbilityKit'; 817import { BusinessError } from '@kit.BasicServicesKit'; 818 819let wantTemp: Want = { 820 // 需根据实际情况进行替换 821 bundleName: 'com.example.myapplication', 822 abilityName: 'EntryAbility' 823}; 824let enterpriseInfo: adminManager.EnterpriseInfo = { 825 // 需根据实际情况进行替换 826 name: 'enterprise name', 827 description: 'enterprise description' 828}; 829 830adminManager.setEnterpriseInfo(wantTemp, enterpriseInfo).catch((err: BusinessError) => { 831 console.error(`Failed to set enterprise info. Code: ${err.code}, message: ${err.message}`); 832}); 833``` 834 835## adminManager.getEnterpriseInfo 836 837getEnterpriseInfo(admin: Want, callback: AsyncCallback<EnterpriseInfo>): void 838 839获取设备管理应用的企业信息。使用callback异步回调。 840 841**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 842 843**模型约束:** 此接口仅可在Stage模型下使用。 844 845**系统接口:** 此接口为系统接口。 846 847**参数:** 848 849| 参数名 | 类型 | 必填 | 说明 | 850| -------- | ---------------------------------------- | ---- | ------------------------ | 851| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 852| callback | AsyncCallback<[EnterpriseInfo](#enterpriseinfo)> | 是 | 回调函数,当接口调用成功,err为null,data为设备管理应用的企业信息,否则err为错误对象。 | 853 854**错误码**: 855 856以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 857 858| 错误码ID | 错误信息 | 859| ------- | ----------------------------------------------------- | 860| 9200001 | The application is not an administrator application of the device. | 861| 202 | Permission verification failed. A non-system application calls a system API. | 862| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 863 864**示例:** 865 866```ts 867import { adminManager } from '@kit.MDMKit'; 868import { Want } from '@kit.AbilityKit'; 869 870let wantTemp: Want = { 871 // 需根据实际情况进行替换 872 bundleName: 'com.example.myapplication', 873 abilityName: 'EntryAbility' 874}; 875 876adminManager.getEnterpriseInfo(wantTemp, (err, result) => { 877 if (err) { 878 console.error(`Failed to get enterprise info. Code: ${err.code}, message: ${err.message}`); 879 return; 880 } 881 console.info(`Succeeded in getting enterprise info, enterprise name : ${result.name}, enterprise description : ${result.description}`); 882}); 883``` 884 885## adminManager.getEnterpriseInfo 886 887getEnterpriseInfo(admin: Want): Promise<EnterpriseInfo> 888 889获取设备管理应用的企业信息,使用promise异步回调。 890 891**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 892 893**模型约束:** 此接口仅可在Stage模型下使用。 894 895**系统接口:** 此接口为系统接口。 896 897**参数:** 898 899| 参数名 | 类型 | 必填 | 说明 | 900| ----- | ----------------------------------- | ---- | ------- | 901| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 902 903**返回值:** 904 905| 类型 | 说明 | 906| ---------------------------------------- | ------------------------- | 907| Promise<[EnterpriseInfo](#enterpriseinfo)> | Promise对象,返回设备管理应用的企业信息。 | 908 909**错误码**: 910 911以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 912 913| 错误码ID | 错误信息 | 914| ------- | ----------------------------------------------------- | 915| 9200001 | The application is not an administrator application of the device. | 916| 202 | Permission verification failed. A non-system application calls a system API. | 917| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 918 919**示例:** 920 921```ts 922import { adminManager } from '@kit.MDMKit'; 923import { Want } from '@kit.AbilityKit'; 924import { BusinessError } from '@kit.BasicServicesKit'; 925 926let wantTemp: Want = { 927 // 需根据实际情况进行替换 928 bundleName: 'com.example.myapplication', 929 abilityName: 'EntryAbility' 930}; 931 932adminManager.getEnterpriseInfo(wantTemp).then((result) => { 933 console.info(`Succeeded in getting enterprise info, enterprise name : ${result.name}, enterprise description : ${result.description}`); 934}).catch((err: BusinessError) => { 935 console.error(`Failed to get enterprise info. Code: ${err.code}, message: ${err.message}`); 936}); 937``` 938 939## adminManager.subscribeManagedEvent 940 941subscribeManagedEvent(admin: Want, managedEvents: Array\<ManagedEvent>, callback: AsyncCallback\<void>): void 942 943订阅系统管理事件。使用callback异步回调。 944 945**需要权限:** ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT 946 947**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 948 949**模型约束:** 此接口仅可在Stage模型下使用。 950 951**系统接口:** 此接口为系统接口。 952 953**参数:** 954 955| 参数名 | 类型 | 必填 | 说明 | 956| ----- | ----------------------------------- | ---- | ------- | 957| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 958| managedEvents | Array\<[ManagedEvent](js-apis-enterprise-adminManager.md#managedevent)> | 是 | 订阅事件数组。 | 959| callback | AsyncCallback\<void> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 960 961**错误码**: 962 963以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 964 965| 错误码ID | 错误信息 | 966| -------- | ------------------------------------------------------------ | 967| 9200001 | The application is not an administrator application of the device. | 968| 9200008 | The specified system event is invalid. | 969| 201 | Permission verification failed. The application does not have the permission required to call the API. | 970| 202 | Permission verification failed. A non-system application calls a system API. | 971| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 972 973**示例:** 974 975```ts 976import { adminManager } from '@kit.MDMKit'; 977import { Want } from '@kit.AbilityKit'; 978 979let wantTemp: Want = { 980 // 需根据实际情况进行替换 981 bundleName: 'com.example.myapplication', 982 abilityName: 'EntryAbility' 983}; 984let events: Array<adminManager.ManagedEvent> = [adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_ADDED, adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_REMOVED]; 985 986adminManager.subscribeManagedEvent(wantTemp, events, (err) => { 987 if (err) { 988 console.error(`Failed to subscribe managed event. Code: ${err.code}, message: ${err.message}`); 989 return; 990 } 991 console.info('Succeeded in subscribe managed event'); 992}); 993``` 994 995## adminManager.subscribeManagedEvent 996 997subscribeManagedEvent(admin: Want, managedEvents: Array\<ManagedEvent>): Promise\<void> 998 999订阅系统管理事件。使用Promise异步回调。 1000 1001**需要权限:** ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT 1002 1003**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1004 1005**模型约束:** 此接口仅可在Stage模型下使用。 1006 1007**系统接口:** 此接口为系统接口。 1008 1009**参数:** 1010 1011| 参数名 | 类型 | 必填 | 说明 | 1012| ----- | ----------------------------------- | ---- | ------- | 1013| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 1014| managedEvents | Array\<[ManagedEvent](js-apis-enterprise-adminManager.md#managedevent)> | 是 | 订阅事件数组。 | 1015 1016**返回值:** 1017 1018| 类型 | 说明 | 1019| ----- | ----------------------------------- | 1020| Promise\<void> | 无返回结果的Promise对象。当订阅系统事件失败时,会抛出错误对象。 | 1021 1022**错误码**: 1023 1024以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 1025 1026| 错误码ID | 错误信息 | 1027| ------- | ----------------------------------------------------- | 1028| 9200001 | The application is not an administrator application of the device. | 1029| 9200008 | The specified system event is invalid. | 1030| 201 | Permission verification failed. The application does not have the permission required to call the API. | 1031| 202 | Permission verification failed. A non-system application calls a system API. | 1032| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1033 1034**示例:** 1035 1036```ts 1037import { adminManager } from '@kit.MDMKit'; 1038import { Want } from '@kit.AbilityKit'; 1039import { BusinessError } from '@kit.BasicServicesKit'; 1040 1041let wantTemp: Want = { 1042 // 需根据实际情况进行替换 1043 bundleName: 'com.example.myapplication', 1044 abilityName: 'EntryAbility' 1045}; 1046let events: Array<adminManager.ManagedEvent> = [adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_ADDED, adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_REMOVED]; 1047 1048adminManager.subscribeManagedEvent(wantTemp, events).then(() => { 1049}).catch((err: BusinessError) => { 1050 console.error(`Failed to subscribe managed event. Code: ${err.code}, message: ${err.message}`); 1051}) 1052``` 1053 1054## adminManager.unsubscribeManagedEvent 1055 1056unsubscribeManagedEvent(admin: Want, managedEvents: Array\<ManagedEvent>, callback: AsyncCallback\<void>): void 1057 1058取消订阅系统管理事件。使用callback异步回调。 1059 1060**需要权限:** ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT 1061 1062**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1063 1064**模型约束:** 此接口仅可在Stage模型下使用。 1065 1066**系统接口:** 此接口为系统接口。 1067 1068**参数:** 1069 1070| 参数名 | 类型 | 必填 | 说明 | 1071| ----- | ----------------------------------- | ---- | ------- | 1072| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 1073| managedEvents | Array\<[ManagedEvent](js-apis-enterprise-adminManager.md#managedevent)> | 是 | 取消订阅事件数组。 | 1074| callback | AsyncCallback\<void> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 1075 1076**错误码**: 1077 1078以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 1079 1080| 错误码ID | 错误信息 | 1081| ------- | ----------------------------------------------------- | 1082| 9200001 | The application is not an administrator application of the device. | 1083| 9200008 | The specified system event is invalid. | 1084| 201 | Permission verification failed. The application does not have the permission required to call the API. | 1085| 202 | Permission verification failed. A non-system application calls a system API. | 1086| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1087 1088**示例:** 1089 1090```ts 1091import { adminManager } from '@kit.MDMKit'; 1092import { Want } from '@kit.AbilityKit'; 1093 1094let wantTemp: Want = { 1095 // 需根据实际情况进行替换 1096 bundleName: 'com.example.myapplication', 1097 abilityName: 'EntryAbility' 1098}; 1099let events: Array<adminManager.ManagedEvent> = [adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_ADDED, adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_REMOVED]; 1100 1101adminManager.unsubscribeManagedEvent(wantTemp, events, (err) => { 1102 if (err) { 1103 console.error(`Failed to unsubscribe managed event. Code: ${err.code}, message: ${err.message}`); 1104 return; 1105 } 1106 console.info('Succeeded in unsubscribe managed event'); 1107}); 1108``` 1109 1110## adminManager.unsubscribeManagedEvent 1111 1112unsubscribeManagedEvent(admin: Want, managedEvents: Array\<ManagedEvent>): Promise\<void> 1113 1114取消订阅系统管理事件。使用promise异步回调。 1115 1116**需要权限:** ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT 1117 1118**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1119 1120**模型约束:** 此接口仅可在Stage模型下使用。 1121 1122**系统接口:** 此接口为系统接口。 1123 1124**参数:** 1125 1126| 参数名 | 类型 | 必填 | 说明 | 1127| ----- | ----------------------------------- | ---- | ------- | 1128| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 1129| managedEvents | Array\<[ManagedEvent](js-apis-enterprise-adminManager.md#managedevent)> | 是 | 取消订阅事件数组。 | 1130 1131**返回值:** 1132 1133| 类型 | 说明 | 1134| ----- | ----------------------------------- | 1135| Promise\<void> | 无返回结果的Promise对象。当取消订阅系统管理事件失败时,会抛出错误对象。 | 1136 1137**错误码**: 1138 1139以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 1140 1141| 错误码ID | 错误信息 | 1142| ------- | ----------------------------------------------------- | 1143| 9200001 | The application is not an administrator application of the device. | 1144| 9200008 | The specified system event is invalid. | 1145| 201 | Permission verification failed. The application does not have the permission required to call the API. | 1146| 202 | Permission verification failed. A non-system application calls a system API. | 1147| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1148 1149**示例:** 1150 1151```ts 1152import { adminManager } from '@kit.MDMKit'; 1153import { Want } from '@kit.AbilityKit'; 1154import { BusinessError } from '@kit.BasicServicesKit'; 1155 1156let wantTemp: Want = { 1157 // 需根据实际情况进行替换 1158 bundleName: 'com.example.myapplication', 1159 abilityName: 'EntryAbility' 1160}; 1161let events: Array<adminManager.ManagedEvent> = [adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_ADDED, adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_REMOVED]; 1162 1163adminManager.unsubscribeManagedEvent(wantTemp, events).then(() => { 1164}).catch((err: BusinessError) => { 1165 console.error(`Failed to unsubscribe managed event. Code: ${err.code}, message: ${err.message}`); 1166}) 1167``` 1168 1169## adminManager.authorizeAdmin<sup>10+</sup> 1170 1171authorizeAdmin(admin: Want, bundleName: string, callback: AsyncCallback<void>): void 1172 1173授予指定应用管理员权限。使用callback异步回调。 1174 1175**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 1176 1177**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1178 1179**模型约束:** 此接口仅可在Stage模型下使用。 1180 1181**系统接口:** 此接口为系统接口。 1182 1183**参数:** 1184 1185| 参数名 | 类型 | 必填 | 说明 | 1186| ----- | ----------------------------------- | ---- | ------- | 1187| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 1188| bundleName | string | 是 | 被授予管理员权限应用的包名。 | 1189| callback | AsyncCallback<void> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 1190 1191**错误码**: 1192 1193以下的错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 1194 1195| 错误码ID | 错误信息 | 1196| ------- | ----------------------------------------------------- | 1197| 9200001 | The application is not an administrator application of the device. | 1198| 9200002 | The administrator application does not have permission to manage the device. | 1199| 9200009 | Failed to grant the permission to the application. | 1200| 201 | Permission verification failed. The application does not have the permission required to call the API. | 1201| 202 | Permission verification failed. A non-system application calls a system API. | 1202| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1203 1204**示例:** 1205 1206```ts 1207import { adminManager } from '@kit.MDMKit'; 1208import { Want } from '@kit.AbilityKit'; 1209 1210let wantTemp: Want = { 1211 // 需根据实际情况进行替换 1212 bundleName: 'com.example.myapplication', 1213 abilityName: 'EntryAbility' 1214}; 1215// 需根据实际情况进行替换 1216let bundleName: string = "com.example.application"; 1217 1218adminManager.authorizeAdmin(wantTemp, bundleName, (err) => { 1219 if (err) { 1220 console.error(`Failed to authorize permission to the application. Code: ${err.code}, message: ${err.message}`); 1221 return; 1222 } 1223 console.info('Successfully authorized permission to the application'); 1224}); 1225``` 1226 1227## adminManager.authorizeAdmin<sup>10+</sup> 1228 1229authorizeAdmin(admin: Want, bundleName: string): Promise<void> 1230 1231授予指定应用管理员权限。使用Promise异步回调。 1232 1233**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 1234 1235**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1236 1237**模型约束:** 此接口仅可在Stage模型下使用。 1238 1239**系统接口:** 此接口为系统接口。 1240 1241**参数:** 1242 1243| 参数名 | 类型 | 必填 | 说明 | 1244| ----- | ----------------------------------- | ---- | ------- | 1245| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 1246| bundleName | string | 是 | 被授予管理员权限应用的包名。 | 1247 1248**返回值:** 1249 1250| 类型 | 说明 | 1251| ----- | ----------------------------------- | 1252| Promise<void> | 无返回结果的Promise对象。当授予指定应用管理员权限失败时,抛出错误对象。 | 1253 1254**错误码**: 1255 1256以下的错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 1257 1258| 错误码ID | 错误信息 | 1259| ------- | ----------------------------------------------------- | 1260| 9200001 | The application is not an administrator application of the device. | 1261| 9200002 | The administrator application does not have permission to manage the device. | 1262| 9200009 | Failed to grant the permission to the application. | 1263| 201 | Permission verification failed. The application does not have the permission required to call the API. | 1264| 202 | Permission verification failed. A non-system application calls a system API. | 1265| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1266 1267**示例:** 1268 1269```ts 1270import { adminManager } from '@kit.MDMKit'; 1271import { Want } from '@kit.AbilityKit'; 1272import { BusinessError } from '@kit.BasicServicesKit'; 1273 1274let wantTemp: Want = { 1275 // 需根据实际情况进行替换 1276 bundleName: 'com.example.myapplication', 1277 abilityName: 'EntryAbility' 1278}; 1279// 需根据实际情况进行替换 1280let bundleName: string = "com.example.application"; 1281 1282adminManager.authorizeAdmin(wantTemp, bundleName).then(() => { 1283}).catch((err: BusinessError) => { 1284 console.error(`Failed to authorize permission to the application. Code: ${err.code}, message: ${err.message}`); 1285}) 1286``` 1287 1288## adminManager.getAdmins<sup>15+</sup> 1289 1290getAdmins(): Promise<Array<Want>> 1291 1292查询当前用户下的所有设备管理应用。使用promise异步回调。 1293 1294**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1295 1296**模型约束:** 此接口仅可在Stage模型下使用。 1297 1298**系统接口:** 此接口为系统接口。 1299 1300**返回值:** 1301 1302| 类型 | 说明 | 1303| ----- | ----------------------------------- | 1304| Promise<Array<Want>> | 包含所有已激活的设备管理应用的Promise对象。 | 1305 1306**错误码**: 1307 1308以下的错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1309 1310| 错误码ID | 错误信息 | 1311| ------- | ----------------------------------------------------- | 1312| 202 | Permission verification failed. A non-system application calls a system API. | 1313 1314**示例:** 1315 1316```ts 1317import { adminManager } from '@kit.MDMKit'; 1318import { Want } from '@kit.AbilityKit'; 1319import { BusinessError } from '@kit.BasicServicesKit'; 1320 1321adminManager.getAdmins().then((result) => { 1322 console.info(`Succeeded in getting admins :${JSON.stringify(result)}`); 1323}).catch((err: BusinessError) => { 1324 console.error(`Failed to get admins. Code: ${err.code}, message: ${err.message}`); 1325}) 1326``` 1327 1328## adminManager.replaceSuperAdmin<sup>18+</sup> 1329 1330replaceSuperAdmin(oldAdmin: Want, newAdmin: Want, isKeepPolicy: boolean): void 1331 1332将指定应用替换成超级设备管理应用。 1333 1334**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 1335 1336**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1337 1338**模型约束:** 此接口仅可在Stage模型下使用。 1339 1340**系统接口:** 此接口为系统接口。 1341 1342**参数**: 1343 1344| 参数名 | 类型 | 必填 | 说明 | 1345| -------------- | ----------------------------------- | ---- | ---------------------------- | 1346| oldAdmin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 原有企业设备管理扩展组件。 | 1347| newAdmin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 新企业设备管理扩展组件。 | 1348| isKeepPolicy | boolean | 是 | 是否保留原有企业设备管理扩展组件的策略,取值为true表示保留,取值为false表示不保留。 | 1349 1350**错误码**: 1351 1352以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 1353 1354| 错误码ID | 错误信息 | 1355| ------- | ----------------------------------------------------- | 1356| 9200001 | The application is not an administrator application of the device. | 1357| 9200003 | The administrator ability component is invalid. | 1358| 9200011 | Failed to replace the administrator application of the device. | 1359| 201 | Permission verification failed. The application does not have the permission required to call the API. | 1360| 202 | Permission verification failed. A non-system application calls a system API. | 1361 1362**示例:** 1363 1364```ts 1365import { adminManager } from '@kit.MDMKit'; 1366import { Want } from '@kit.AbilityKit'; 1367import { BusinessError } from '@kit.BasicServicesKit'; 1368 1369let oldAdmin: Want = { 1370 // 需根据实际情况进行替换 1371 bundleName: 'com.example.myapplication', 1372 abilityName: 'EntryAbility' 1373}; 1374let newAdmin: Want = { 1375 // 需根据实际情况进行替换 1376 bundleName: 'com.example.myapplication_new', 1377 abilityName: 'NewEntryAbility' 1378}; 1379try { 1380 adminManager.replaceSuperAdmin(oldAdmin, newAdmin, false); 1381 console.info(`Succeeded in replace super admin.`); 1382} catch(err) { 1383 console.error(`Failed to replace super admin. Code: ${err.code}, message: ${err.message}`); 1384} 1385``` 1386 1387## adminManager.setAdminRunningMode<sup>19+</sup> 1388 1389setAdminRunningMode(admin: Want, mode: RunningMode): void 1390 1391设置设备管理应用的运行模式。 1392 1393**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN 1394 1395**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1396 1397**设备行为差异:** 该接口在PC/2in1设备上生效,在其他设备中调用无效果。 1398 1399**模型约束:** 此接口仅可在Stage模型下使用。 1400 1401**系统接口:** 此接口为系统接口。 1402 1403**参数**: 1404 1405| 参数名 | 类型 | 必填 | 说明 | 1406| -------------- | ----------------------------------- | ---- | ---------------------------- | 1407| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 1408| mode | [RunningMode](#runningmode19) | 是 | 运行模式。取值为DEFAULT表示默认用户运行模式,即应用在首次开机后的用户下运行。取值为MULTI_USER表示多用户运行模式,即应用能够在多个用户下同时运行。 | 1409 1410 1411 1412**错误码**: 1413 1414以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 1415 1416| 错误码ID | 错误信息 | 1417| ------- | ----------------------------------------------------- | 1418| 9200001 | The application is not an administrator application of the device. | 1419| 201 | Permission verification failed. The application does not have the permission required to call the API. | 1420| 202 | Permission verification failed. A non-system application calls a system API. | 1421 1422**示例:** 1423 1424```ts 1425import { adminManager } from '@kit.MDMKit'; 1426import { Want } from '@kit.AbilityKit'; 1427import { BusinessError } from '@kit.BasicServicesKit'; 1428 1429let admin: Want = { 1430 // 需根据实际情况进行替换 1431 bundleName: 'com.example.myapplication', 1432 abilityName: 'EntryAbility' 1433}; 1434try { 1435 adminManager.setAdminRunningMode(admin, adminManager.RunningMode.MULTI_USER); 1436 console.info(`Succeeded in set admin running mode.`); 1437} catch(err) { 1438 console.error(`Failed to set admin running mode. Code: ${err.code}, message: ${err.message}`); 1439} 1440``` 1441 1442## EnterpriseInfo 1443 1444设备管理应用的企业信息。 1445 1446**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1447 1448**系统接口:** 此接口为系统接口。 1449 1450| 名称 | 类型 | 只读 | 可选 | 说明 | 1451| ----------- | --------| ---- | -----| -------------------------- | 1452| name | string | 否 | 否 | 表示设备管理应用所属企业的名称。 | 1453| description | string | 否 | 否 |表示设备管理应用所属企业的描述。 | 1454 1455## AdminType 1456 1457设备管理应用的类型。 1458 1459**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1460 1461**系统接口:** 此接口为系统接口。 1462 1463| 名称 | 值 | 说明 | 1464| ----------------- | ---- | ----- | 1465| ADMIN_TYPE_NORMAL | 0x00 | 普通设备管理应用。 | 1466| ADMIN_TYPE_SUPER | 0x01 | 超级设备管理应用。 | 1467 1468## RunningMode<sup>19+</sup> 1469 1470设备管理的运行模式。 1471 1472**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 1473 1474**系统接口:** 此接口为系统接口。 1475 1476| 名称 | 值 | 说明 | 1477| ----------------- | ---- | ----- | 1478| DEFAULT | 0 | 默认用户运行模式,表示应用在首次开机后的用户下运行。 | 1479| MULTI_USER | 1 | 多用户运行模式,表示应用能够在多个用户下同时运行。 | 1480 1481