1e41f4b71Sopenharmony_ci# @ohos.enterprise.adminManager (企业设备管理)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci本模块提供企业设备管理能力,使设备具备企业场景下所需的定制能力。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明:**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8e41f4b71Sopenharmony_ci>
9e41f4b71Sopenharmony_ci> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-guide.md#功能介绍)开放,实现相应功能。
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci## 导入模块
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci```ts
14e41f4b71Sopenharmony_ciimport { adminManager } from '@kit.MDMKit';
15e41f4b71Sopenharmony_ci```
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci## adminManager.disableAdmin
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_cidisableAdmin(admin: Want, userId?: number): Promise\<void>
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci将当前/指定用户下指定的普通管理应用去激活。使用promise异步回调。
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci**模型约束**: 此接口仅可在Stage模型下使用。
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci**参数**:
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci| 参数名 | 类型                                                    | 必填 | 说明                                                         |
34e41f4b71Sopenharmony_ci| ------ | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
35e41f4b71Sopenharmony_ci| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 普通设备管理应用。                                           |
36e41f4b71Sopenharmony_ci| userId | number                                                  | 否   | 用户ID, 取值范围:大于等于0。<br> - 调用接口时,若传入userId,表示指定用户。<br> - 调用接口时,若未传入userId,表示当前用户。 |
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci**返回值:**
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci| 类型           | 说明                                                         |
41e41f4b71Sopenharmony_ci| -------------- | ------------------------------------------------------------ |
42e41f4b71Sopenharmony_ci| Promise\<void> | 无返回结果的Promise对象。当去激活普通管理应用失败时,会抛出错误对象。 |
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci**错误码**:
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
49e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
50e41f4b71Sopenharmony_ci| 9200005  | Failed to deactivate the administrator application of the device. |
51e41f4b71Sopenharmony_ci| 201      | Permission verification failed. The application does not have the permission required to call the API. |
52e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci**示例**:
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci```ts
57e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
58e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
59e41f4b71Sopenharmony_cilet wantTemp: Want = {
60e41f4b71Sopenharmony_ci  bundleName: 'bundleName',
61e41f4b71Sopenharmony_ci  abilityName: 'abilityName',
62e41f4b71Sopenharmony_ci};
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ciadminManager.disableAdmin(wantTemp, 100).catch((err: BusinessError) => {
65e41f4b71Sopenharmony_ci  console.error(`Failed to disable admin. Code: ${err.code}, message: ${err.message}`);
66e41f4b71Sopenharmony_ci});
67e41f4b71Sopenharmony_ci```
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci## adminManager.subscribeManagedEventSync
70e41f4b71Sopenharmony_ci
71e41f4b71Sopenharmony_cisubscribeManagedEventSync(admin: Want, managedEvents: Array\<ManagedEvent>): void
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ci指定的设备管理应用订阅系统管理事件。
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci**模型约束**: 此接口仅可在Stage模型下使用。
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ci**参数:**
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ci| 参数名        | 类型                                                    | 必填 | 说明           |
86e41f4b71Sopenharmony_ci| ------------- | ------------------------------------------------------- | ---- | -------------- |
87e41f4b71Sopenharmony_ci| admin         | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 设备管理应用。 |
88e41f4b71Sopenharmony_ci| managedEvents | Array\<[ManagedEvent](#managedevent)>                   | 是   | 订阅事件数组。 |
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci**错误码**:
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
95e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
96e41f4b71Sopenharmony_ci| 9200001  | The application is not an administrator application of the device. |
97e41f4b71Sopenharmony_ci| 9200008  | The specified system event is invalid.                       |
98e41f4b71Sopenharmony_ci| 201      | Permission verification failed. The application does not have the permission required to call the API. |
99e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci**示例:**
102e41f4b71Sopenharmony_ci
103e41f4b71Sopenharmony_ci```ts
104e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
105e41f4b71Sopenharmony_cilet wantTemp: Want = {
106e41f4b71Sopenharmony_ci  bundleName: 'bundleName',
107e41f4b71Sopenharmony_ci  abilityName: 'abilityName',
108e41f4b71Sopenharmony_ci};
109e41f4b71Sopenharmony_cilet events: Array<adminManager.ManagedEvent> = [adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_ADDED, adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_REMOVED];
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_citry {
112e41f4b71Sopenharmony_ci  adminManager.subscribeManagedEventSync(wantTemp, events);
113e41f4b71Sopenharmony_ci  console.info('Succeeded in subscribe managed event.');
114e41f4b71Sopenharmony_ci} catch (err) {
115e41f4b71Sopenharmony_ci  console.error(`Failed to subscribe managed event. Code: ${err.code}, message: ${err.message}`);
116e41f4b71Sopenharmony_ci}
117e41f4b71Sopenharmony_ci```
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci## adminManager.unsubscribeManagedEventSync
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ciunsubscribeManagedEventSync(admin: Want, managedEvents: Array\<ManagedEvent>): void
122e41f4b71Sopenharmony_ci
123e41f4b71Sopenharmony_ci指定的设备管理应用取消订阅系统管理事件。
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ci
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci**模型约束**: 此接口仅可在Stage模型下使用。
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci**参数:**
134e41f4b71Sopenharmony_ci
135e41f4b71Sopenharmony_ci| 参数名        | 类型                                                    | 必填 | 说明               |
136e41f4b71Sopenharmony_ci| ------------- | ------------------------------------------------------- | ---- | ------------------ |
137e41f4b71Sopenharmony_ci| admin         | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 设备管理应用。     |
138e41f4b71Sopenharmony_ci| managedEvents | Array\<[ManagedEvent](#managedevent)>                   | 是   | 取消订阅事件数组。 |
139e41f4b71Sopenharmony_ci
140e41f4b71Sopenharmony_ci**错误码**:
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
145e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
146e41f4b71Sopenharmony_ci| 9200001  | The application is not an administrator application of the device. |
147e41f4b71Sopenharmony_ci| 9200008  | The specified system event is invalid.                       |
148e41f4b71Sopenharmony_ci| 201      | Permission verification failed. The application does not have the permission required to call the API. |
149e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
150e41f4b71Sopenharmony_ci
151e41f4b71Sopenharmony_ci**示例:**
152e41f4b71Sopenharmony_ci
153e41f4b71Sopenharmony_ci```ts
154e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
155e41f4b71Sopenharmony_cilet wantTemp: Want = {
156e41f4b71Sopenharmony_ci  bundleName: 'bundleName',
157e41f4b71Sopenharmony_ci  abilityName: 'abilityName',
158e41f4b71Sopenharmony_ci};
159e41f4b71Sopenharmony_cilet events: Array<adminManager.ManagedEvent> = [adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_ADDED, adminManager.ManagedEvent.MANAGED_EVENT_BUNDLE_REMOVED];
160e41f4b71Sopenharmony_ci
161e41f4b71Sopenharmony_citry {
162e41f4b71Sopenharmony_ci  adminManager.unsubscribeManagedEventSync(wantTemp, events);
163e41f4b71Sopenharmony_ci  console.info('Succeeded in subscribe managed event.');
164e41f4b71Sopenharmony_ci} catch (err) {
165e41f4b71Sopenharmony_ci  console.error(`Failed to subscribe managed event. Code: ${err.code}, message: ${err.message}`);
166e41f4b71Sopenharmony_ci}
167e41f4b71Sopenharmony_ci```
168e41f4b71Sopenharmony_ci
169e41f4b71Sopenharmony_ci## ManagedEvent
170e41f4b71Sopenharmony_ci
171e41f4b71Sopenharmony_ci可订阅的系统管理事件。
172e41f4b71Sopenharmony_ci
173e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
174e41f4b71Sopenharmony_ci
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_ci
177e41f4b71Sopenharmony_ci| 名称                         | 值   | 说明           |
178e41f4b71Sopenharmony_ci| ---------------------------- | ---- | -------------- |
179e41f4b71Sopenharmony_ci| MANAGED_EVENT_BUNDLE_ADDED   | 0    | 应用安装事件。 |
180e41f4b71Sopenharmony_ci| MANAGED_EVENT_BUNDLE_REMOVED | 1    | 应用卸载事件。 |
181e41f4b71Sopenharmony_ci| MANAGED_EVENT_APP_START      | 2    | 应用启动事件。 |
182e41f4b71Sopenharmony_ci| MANAGED_EVENT_APP_STOP       | 3    | 应用停止事件。 |
183e41f4b71Sopenharmony_ci| MANAGED_EVENT_SYSTEM_UPDATE  | 4    | 系统更新事件。 |
184