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