• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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&lt;EnterpriseInfo&gt;): 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&lt;[EnterpriseInfo](#enterpriseinfo)&gt; | 是    | 回调函数,当接口调用成功,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&lt;EnterpriseInfo&gt;
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&lt;[EnterpriseInfo](#enterpriseinfo)&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是 | 回调函数,当接口调用成功,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;Array&lt;Want&gt;&gt;
1291
1292查询当前用户下的所有设备管理应用。使用promise异步回调。
1293
1294**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
1295
1296**模型约束:** 此接口仅可在Stage模型下使用。
1297
1298**系统接口:** 此接口为系统接口。
1299
1300**返回值:**
1301
1302| 类型   | 说明                                  |
1303| ----- | ----------------------------------- |
1304| Promise&lt;Array&lt;Want&gt;&gt; | 包含所有已激活的设备管理应用的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