1e41f4b71Sopenharmony_ci# @ohos.enterprise.systemManager (系统管理)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci本模块提供系统管理能力。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明**:
6e41f4b71Sopenharmony_ci> 
7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8e41f4b71Sopenharmony_ci>
9e41f4b71Sopenharmony_ci> 本模块接口仅可在Stage模型下使用。
10e41f4b71Sopenharmony_ci>
11e41f4b71Sopenharmony_ci> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-guide.md#功能介绍)开放,需将设备管理应用激活后调用,实现相应功能。
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci## 导入模块
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci```ts
16e41f4b71Sopenharmony_ciimport { systemManager } from '@kit.MDMKit';
17e41f4b71Sopenharmony_ci```
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci## systemManager.setNTPServer
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_cisetNTPServer(admin: Want, server: string): void
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci指定设备管理应用设置NTP服务器的策略。
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ENTERPRISE_MANAGE_SYSTEM
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci**参数:**
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci| 参数名   | 类型                                  | 必填   | 说明      |
32e41f4b71Sopenharmony_ci| ----- | ----------------------------------- | ---- | ------- |
33e41f4b71Sopenharmony_ci| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是    | 设备管理应用。 |
34e41f4b71Sopenharmony_ci| server | string | 是 | NTP服务器地址(以","分隔,如"ntpserver1.com,ntpserver2.com")。 |
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci**错误码**:
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                                      |
41e41f4b71Sopenharmony_ci| ------- | ---------------------------------------------------------------------------- |
42e41f4b71Sopenharmony_ci| 9200001 | The application is not an administrator application of the device. |
43e41f4b71Sopenharmony_ci| 9200002 | The administrator application does not have permission to manage the device. |
44e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. |
45e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci**示例:**
48e41f4b71Sopenharmony_ci
49e41f4b71Sopenharmony_ci```ts
50e41f4b71Sopenharmony_ciimport { systemManager } from '@kit.MDMKit';
51e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
52e41f4b71Sopenharmony_cilet wantTemp: Want = {
53e41f4b71Sopenharmony_ci  bundleName: 'com.example.myapplication',
54e41f4b71Sopenharmony_ci  abilityName: 'EntryAbility',
55e41f4b71Sopenharmony_ci};
56e41f4b71Sopenharmony_cilet server: string = "ntpserver.com";
57e41f4b71Sopenharmony_citry {
58e41f4b71Sopenharmony_ci  systemManager.setNTPServer(wantTemp, server);
59e41f4b71Sopenharmony_ci  console.info('Succeeded in setting NTPserver.');
60e41f4b71Sopenharmony_ci} catch (err) {
61e41f4b71Sopenharmony_ci  console.error(`Failed to set usb policy. Code is ${err.code}, message is ${err.message}`);
62e41f4b71Sopenharmony_ci}
63e41f4b71Sopenharmony_ci```
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci## systemManager.getNTPServer
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_cigetNTPServer(admin: Want): string
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci指定设备管理应用获取NTP服务器信息。
70e41f4b71Sopenharmony_ci
71e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ENTERPRISE_MANAGE_SYSTEM
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci**参数:**
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci| 参数名 | 类型                                | 必填 | 说明           |
78e41f4b71Sopenharmony_ci| ------ | ----------------------------------- | ---- | -------------- |
79e41f4b71Sopenharmony_ci| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 设备管理应用。 |
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci**返回值:**
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ci| 类型   | 说明                            |
84e41f4b71Sopenharmony_ci| ------ | ------------------------------- |
85e41f4b71Sopenharmony_ci| string | string对象,返回NTP服务器信息。 |
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci**错误码**:
88e41f4b71Sopenharmony_ci
89e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
92e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
93e41f4b71Sopenharmony_ci| 9200001  | The application is not an administrator application of the device. |
94e41f4b71Sopenharmony_ci| 9200002  | The administrator application does not have permission to manage the device. |
95e41f4b71Sopenharmony_ci| 201      | Permission verification failed. The application does not have the permission required to call the API. |
96e41f4b71Sopenharmony_ci| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ci**示例:**
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ci```ts
101e41f4b71Sopenharmony_ciimport { systemManager } from '@kit.MDMKit';
102e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
103e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base';
104e41f4b71Sopenharmony_cilet wantTemp: Want = {
105e41f4b71Sopenharmony_ci  bundleName: 'com.example.myapplication',
106e41f4b71Sopenharmony_ci  abilityName: 'EntryAbility',
107e41f4b71Sopenharmony_ci};
108e41f4b71Sopenharmony_citry {
109e41f4b71Sopenharmony_ci  systemManager.getNTPServer(wantTemp);
110e41f4b71Sopenharmony_ci  console.info('Succeeded in getting NTP server.');
111e41f4b71Sopenharmony_ci} catch (err) {
112e41f4b71Sopenharmony_ci  console.error(`Failed to set usb policy. Code is ${err.code}, message is ${err.message}`);
113e41f4b71Sopenharmony_ci}
114e41f4b71Sopenharmony_ci```
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ci## systemManager.setOtaUpdatePolicy
117e41f4b71Sopenharmony_ci
118e41f4b71Sopenharmony_cisetOtaUpdatePolicy(admin: Want, policy: OtaUpdatePolicy): void
119e41f4b71Sopenharmony_ci
120e41f4b71Sopenharmony_ci指定设备管理应用设置升级策略。内网升级场景下,需要先调用[systemManager.notifyUpdatePackages](#systemmanagernotifyupdatepackages)接口通知系统更新包,再调用该接口设置升级策略。
121e41f4b71Sopenharmony_ci
122e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ENTERPRISE_MANAGE_SYSTEM
123e41f4b71Sopenharmony_ci
124e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
125e41f4b71Sopenharmony_ci
126e41f4b71Sopenharmony_ci**参数:**
127e41f4b71Sopenharmony_ci
128e41f4b71Sopenharmony_ci| 参数名   | 类型                                  | 必填   | 说明      |
129e41f4b71Sopenharmony_ci| ----- | ----------------------------------- | ---- | ------- |
130e41f4b71Sopenharmony_ci| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是    | 设备管理应用。 |
131e41f4b71Sopenharmony_ci| policy | [OtaUpdatePolicy](#otaupdatepolicy) | 是 | 升级策略。 |
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci**错误码**:
134e41f4b71Sopenharmony_ci
135e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
136e41f4b71Sopenharmony_ci
137e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                                      |
138e41f4b71Sopenharmony_ci| ------- | ---------------------------------------------------------------------------- |
139e41f4b71Sopenharmony_ci| 9200001 | The application is not an administrator application of the device.                       |
140e41f4b71Sopenharmony_ci| 9200002 | The administrator application does not have permission to manage the device. |
141e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. |
142e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.|
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci**示例:**
145e41f4b71Sopenharmony_ci
146e41f4b71Sopenharmony_ci```ts
147e41f4b71Sopenharmony_ciimport { systemManager } from '@kit.MDMKit';
148e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
149e41f4b71Sopenharmony_cilet wantTemp: Want = {
150e41f4b71Sopenharmony_ci  bundleName: 'com.example.myapplication',
151e41f4b71Sopenharmony_ci  abilityName: 'EntryAbility',
152e41f4b71Sopenharmony_ci};
153e41f4b71Sopenharmony_ci// 默认升级策略
154e41f4b71Sopenharmony_cilet otaUpdatePolicy1: systemManager.OtaUpdatePolicy = {
155e41f4b71Sopenharmony_ci  "policyType": systemManager.PolicyType.DEFAULT,
156e41f4b71Sopenharmony_ci  "version": "version_1.0.0.0",
157e41f4b71Sopenharmony_ci};
158e41f4b71Sopenharmony_citry {
159e41f4b71Sopenharmony_ci  systemManager.setOtaUpdatePolicy(wantTemp, otaUpdatePolicy1);
160e41f4b71Sopenharmony_ci  console.info('Succeeded in setting ota update policy.');
161e41f4b71Sopenharmony_ci} catch (err) {
162e41f4b71Sopenharmony_ci  console.error(`Failed to set ota update policy. Code is ${err.code}, message is ${err.message}`);
163e41f4b71Sopenharmony_ci}
164e41f4b71Sopenharmony_ci// 禁止升级
165e41f4b71Sopenharmony_cilet otaUpdatePolicy2: systemManager.OtaUpdatePolicy = {
166e41f4b71Sopenharmony_ci  "policyType": systemManager.PolicyType.PROHIBIT,
167e41f4b71Sopenharmony_ci  "version": "version_1.0.0.1",
168e41f4b71Sopenharmony_ci};
169e41f4b71Sopenharmony_citry {
170e41f4b71Sopenharmony_ci  systemManager.setOtaUpdatePolicy(wantTemp, otaUpdatePolicy2);
171e41f4b71Sopenharmony_ci  console.info('Succeeded in setting ota update policy.');
172e41f4b71Sopenharmony_ci} catch (err) {
173e41f4b71Sopenharmony_ci  console.error(`Failed to set ota update policy. Code is ${err.code}, message is ${err.message}`);
174e41f4b71Sopenharmony_ci}
175e41f4b71Sopenharmony_ci// 强制升级
176e41f4b71Sopenharmony_cilet otaUpdatePolicy3: systemManager.OtaUpdatePolicy = {
177e41f4b71Sopenharmony_ci  "policyType": systemManager.PolicyType.UPDATE_TO_SPECIFIC_VERSION,
178e41f4b71Sopenharmony_ci  "version": "version_1.0.0.2",
179e41f4b71Sopenharmony_ci  "latestUpdateTime": 1716343200, // 时间戳
180e41f4b71Sopenharmony_ci};
181e41f4b71Sopenharmony_citry {
182e41f4b71Sopenharmony_ci  systemManager.setOtaUpdatePolicy(wantTemp, otaUpdatePolicy3);
183e41f4b71Sopenharmony_ci  console.info('Succeeded in setting ota update policy.');
184e41f4b71Sopenharmony_ci} catch (err) {
185e41f4b71Sopenharmony_ci  console.error(`Failed to set ota update policy. Code is ${err.code}, message is ${err.message}`);
186e41f4b71Sopenharmony_ci}
187e41f4b71Sopenharmony_ci// 指定时间窗口升级
188e41f4b71Sopenharmony_cilet otaUpdatePolicy4: systemManager.OtaUpdatePolicy = {
189e41f4b71Sopenharmony_ci  "policyType": systemManager.PolicyType.WINDOWS,
190e41f4b71Sopenharmony_ci  "version": "version_1.0.0.3",
191e41f4b71Sopenharmony_ci  "installStartTime": 1716281049, // // 时间戳
192e41f4b71Sopenharmony_ci  "installEndTime": 1716343200, // // 时间戳
193e41f4b71Sopenharmony_ci};
194e41f4b71Sopenharmony_citry {
195e41f4b71Sopenharmony_ci  systemManager.setOtaUpdatePolicy(wantTemp, otaUpdatePolicy4);
196e41f4b71Sopenharmony_ci  console.info('Succeeded in setting ota update policy.');
197e41f4b71Sopenharmony_ci} catch (err) {
198e41f4b71Sopenharmony_ci  console.error(`Failed to set ota update policy. Code is ${err.code}, message is ${err.message}`);
199e41f4b71Sopenharmony_ci}
200e41f4b71Sopenharmony_ci// 延迟升级
201e41f4b71Sopenharmony_cilet otaUpdatePolicy5: systemManager.OtaUpdatePolicy = {
202e41f4b71Sopenharmony_ci  "policyType": systemManager.PolicyType.POSTPONE,
203e41f4b71Sopenharmony_ci  "version": "version_1.0.0.4",
204e41f4b71Sopenharmony_ci  "delayUpdateTime": 5, // 单位(小时)
205e41f4b71Sopenharmony_ci};
206e41f4b71Sopenharmony_citry {
207e41f4b71Sopenharmony_ci  systemManager.setOtaUpdatePolicy(wantTemp, otaUpdatePolicy5);
208e41f4b71Sopenharmony_ci  console.info('Succeeded in setting ota update policy.');
209e41f4b71Sopenharmony_ci} catch (err) {
210e41f4b71Sopenharmony_ci  console.error(`Failed to set ota update policy. Code is ${err.code}, message is ${err.message}`);
211e41f4b71Sopenharmony_ci}
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci```
214e41f4b71Sopenharmony_ci
215e41f4b71Sopenharmony_ci## systemManager.getOtaUpdatePolicy
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_cigetOtaUpdatePolicy(admin: Want): OtaUpdatePolicy
218e41f4b71Sopenharmony_ci
219e41f4b71Sopenharmony_ci指定设备管理应用查询升级策略。
220e41f4b71Sopenharmony_ci
221e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ENTERPRISE_MANAGE_SYSTEM
222e41f4b71Sopenharmony_ci
223e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
224e41f4b71Sopenharmony_ci
225e41f4b71Sopenharmony_ci**参数:**
226e41f4b71Sopenharmony_ci
227e41f4b71Sopenharmony_ci| 参数名 | 类型                                | 必填 | 说明           |
228e41f4b71Sopenharmony_ci| ------ | ----------------------------------- | ---- | -------------- |
229e41f4b71Sopenharmony_ci| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 设备管理应用。 |
230e41f4b71Sopenharmony_ci
231e41f4b71Sopenharmony_ci**返回值:**
232e41f4b71Sopenharmony_ci
233e41f4b71Sopenharmony_ci| 类型   | 说明                            |
234e41f4b71Sopenharmony_ci| ------ | ------------------------------- |
235e41f4b71Sopenharmony_ci| [OtaUpdatePolicy](#otaupdatepolicy) | OtaUpdatePolicy对象,返回升级策略。 |
236e41f4b71Sopenharmony_ci
237e41f4b71Sopenharmony_ci**错误码**:
238e41f4b71Sopenharmony_ci
239e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
240e41f4b71Sopenharmony_ci
241e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
242e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
243e41f4b71Sopenharmony_ci| 9200001  | The application is not an administrator application of the device.       |
244e41f4b71Sopenharmony_ci| 9200002  | The administrator application does not have permission to manage the device. |
245e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. |
246e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.|
247e41f4b71Sopenharmony_ci
248e41f4b71Sopenharmony_ci**示例:**
249e41f4b71Sopenharmony_ci
250e41f4b71Sopenharmony_ci```ts
251e41f4b71Sopenharmony_ciimport { systemManager } from '@kit.MDMKit';
252e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
253e41f4b71Sopenharmony_cilet wantTemp: Want = {
254e41f4b71Sopenharmony_ci  bundleName: 'com.example.myapplication',
255e41f4b71Sopenharmony_ci  abilityName: 'EntryAbility',
256e41f4b71Sopenharmony_ci};
257e41f4b71Sopenharmony_citry {
258e41f4b71Sopenharmony_ci  let policy: systemManager.OtaUpdatePolicy= systemManager.getOtaUpdatePolicy(wantTemp);
259e41f4b71Sopenharmony_ci  console.info(`Succeeded in getting update policy: ${JSON.stringify(policy)}`);
260e41f4b71Sopenharmony_ci} catch (err) {
261e41f4b71Sopenharmony_ci  console.error(`Failed to get update policy. Code is ${err.code}, message is ${err.message}`);
262e41f4b71Sopenharmony_ci}
263e41f4b71Sopenharmony_ci```
264e41f4b71Sopenharmony_ci
265e41f4b71Sopenharmony_ci## systemManager.notifyUpdatePackages
266e41f4b71Sopenharmony_ci
267e41f4b71Sopenharmony_cinotifyUpdatePackages(admin: Want, packageInfo: UpdatePackageInfo): Promise<void>
268e41f4b71Sopenharmony_ci
269e41f4b71Sopenharmony_ci通知系统更新包信息。内网升级场景下,需要先调用该接口通知系统更新包,再调用[systemManager.setOtaUpdatePolicy](#systemmanagersetotaupdatepolicy)设置升级策略。
270e41f4b71Sopenharmony_ci
271e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ENTERPRISE_MANAGE_SYSTEM
272e41f4b71Sopenharmony_ci
273e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
274e41f4b71Sopenharmony_ci
275e41f4b71Sopenharmony_ci**参数:**
276e41f4b71Sopenharmony_ci
277e41f4b71Sopenharmony_ci| 参数名 | 类型                                | 必填 | 说明           |
278e41f4b71Sopenharmony_ci| ------ | ----------------------------------- | ---- | -------------- |
279e41f4b71Sopenharmony_ci| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 设备管理应用。 |
280e41f4b71Sopenharmony_ci| packageInfo  | [UpdatePackageInfo](#updatepackageinfo) | 是   | 系统更新包信息。 |
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_ci**返回值:**
283e41f4b71Sopenharmony_ci
284e41f4b71Sopenharmony_ci| 类型                   | 说明                      |
285e41f4b71Sopenharmony_ci| --------------------- | ------------------------- |
286e41f4b71Sopenharmony_ci| Promise<void> | 无返回结果的Promise对象。当通知系统更新包失败时会抛出错误对象。 |
287e41f4b71Sopenharmony_ci
288e41f4b71Sopenharmony_ci**错误码**:
289e41f4b71Sopenharmony_ci
290e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
291e41f4b71Sopenharmony_ci
292e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
293e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
294e41f4b71Sopenharmony_ci| 9200001  | The application is not an administrator application of the device.       |
295e41f4b71Sopenharmony_ci| 9200002  | The administrator application does not have permission to manage the device. |
296e41f4b71Sopenharmony_ci| 9201004  | The update packages do not exist or analyzing failed. |
297e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. |
298e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.|
299e41f4b71Sopenharmony_ci
300e41f4b71Sopenharmony_ci**示例:**
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_ci```ts
303e41f4b71Sopenharmony_ciimport { systemManager } from '@kit.MDMKit';
304e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
305e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
306e41f4b71Sopenharmony_cilet wantTemp: Want = {
307e41f4b71Sopenharmony_ci  bundleName: 'com.example.myapplication',
308e41f4b71Sopenharmony_ci  abilityName: 'EntryAbility',
309e41f4b71Sopenharmony_ci};
310e41f4b71Sopenharmony_cilet notify: systemManager.NotifyDescription = {
311e41f4b71Sopenharmony_ci  "installTips": "installTips",
312e41f4b71Sopenharmony_ci  "installTipsDetail": "installTips detail"
313e41f4b71Sopenharmony_ci}
314e41f4b71Sopenharmony_cilet description: systemManager.PackageDescription = {
315e41f4b71Sopenharmony_ci  "notify": notify,
316e41f4b71Sopenharmony_ci}
317e41f4b71Sopenharmony_cilet updatePackages: Array<systemManager.Package> = [{
318e41f4b71Sopenharmony_ci  "type": systemManager.PackageType.FIRMWARE,
319e41f4b71Sopenharmony_ci  "path": "path",
320e41f4b71Sopenharmony_ci  "fd": 60,
321e41f4b71Sopenharmony_ci}]
322e41f4b71Sopenharmony_cilet updatePackageInfo: systemManager.UpdatePackageInfo = {
323e41f4b71Sopenharmony_ci  "version" : "1.0",
324e41f4b71Sopenharmony_ci  "packages" : updatePackages,
325e41f4b71Sopenharmony_ci  "description" : description,
326e41f4b71Sopenharmony_ci};
327e41f4b71Sopenharmony_cisystemManager.notifyUpdatePackages(wantTemp, updatePackageInfo).then(() => {
328e41f4b71Sopenharmony_ci  console.info('Succeeded in notifying update packages.');
329e41f4b71Sopenharmony_ci}).catch ((error: BusinessError) => {
330e41f4b71Sopenharmony_ci  console.error(`Failed to notify update packages. Code is ${error.code},message is ${error.message}`);
331e41f4b71Sopenharmony_ci});
332e41f4b71Sopenharmony_ci```
333e41f4b71Sopenharmony_ci
334e41f4b71Sopenharmony_ci## systemManager.getUpdateResult
335e41f4b71Sopenharmony_ci
336e41f4b71Sopenharmony_cigetUpdateResult(admin: Want, version: string): Promise&lt;UpdateResult&gt;
337e41f4b71Sopenharmony_ci
338e41f4b71Sopenharmony_ci获取系统更新结果。
339e41f4b71Sopenharmony_ci
340e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ENTERPRISE_MANAGE_SYSTEM
341e41f4b71Sopenharmony_ci
342e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
343e41f4b71Sopenharmony_ci
344e41f4b71Sopenharmony_ci**参数:**
345e41f4b71Sopenharmony_ci
346e41f4b71Sopenharmony_ci| 参数名 | 类型                                | 必填 | 说明           |
347e41f4b71Sopenharmony_ci| ------ | ----------------------------------- | ---- | -------------- |
348e41f4b71Sopenharmony_ci| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 设备管理应用。 |
349e41f4b71Sopenharmony_ci| version  | string | 是   | 更新包版本号。 |
350e41f4b71Sopenharmony_ci
351e41f4b71Sopenharmony_ci**返回值:**
352e41f4b71Sopenharmony_ci
353e41f4b71Sopenharmony_ci| 类型                   | 说明                      |
354e41f4b71Sopenharmony_ci| --------------------- | ------------------------- |
355e41f4b71Sopenharmony_ci| Promise&lt;[UpdateResult](#updateresult)&gt; | Promise对象,返回系统更新结果。 |
356e41f4b71Sopenharmony_ci
357e41f4b71Sopenharmony_ci**错误码**:
358e41f4b71Sopenharmony_ci
359e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
360e41f4b71Sopenharmony_ci
361e41f4b71Sopenharmony_ci| 错误码ID | 错误信息                                                     |
362e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ |
363e41f4b71Sopenharmony_ci| 9200001  | The application is not an administrator application of the device.       |
364e41f4b71Sopenharmony_ci| 9200002  | The administrator application does not have permission to manage the device. |
365e41f4b71Sopenharmony_ci| 201 | Permission verification failed. The application does not have the permission required to call the API. |
366e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.|
367e41f4b71Sopenharmony_ci
368e41f4b71Sopenharmony_ci**示例:**
369e41f4b71Sopenharmony_ci
370e41f4b71Sopenharmony_ci```ts
371e41f4b71Sopenharmony_ciimport { systemManager } from '@kit.MDMKit';
372e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit';
373e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit';
374e41f4b71Sopenharmony_cilet wantTemp: Want = {
375e41f4b71Sopenharmony_ci  bundleName: 'com.example.myapplication',
376e41f4b71Sopenharmony_ci  abilityName: 'EntryAbility',
377e41f4b71Sopenharmony_ci};
378e41f4b71Sopenharmony_cisystemManager.getUpdateResult(wantTemp, "1.0").then((result:systemManager.UpdateResult) => {
379e41f4b71Sopenharmony_ci    console.info(`Succeeded in getting update result: ${JSON.stringify(result)}`);
380e41f4b71Sopenharmony_ci  }).catch((error: BusinessError) => {
381e41f4b71Sopenharmony_ci    console.error(`Get update result failed. Code is ${error.code},message is ${error.message}`);
382e41f4b71Sopenharmony_ci  });
383e41f4b71Sopenharmony_ci```
384e41f4b71Sopenharmony_ci
385e41f4b71Sopenharmony_ci## SystemUpdateInfo
386e41f4b71Sopenharmony_ci
387e41f4b71Sopenharmony_ci待更新的系统版本信息。
388e41f4b71Sopenharmony_ci
389e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
390e41f4b71Sopenharmony_ci
391e41f4b71Sopenharmony_ci| 名称                | 类型     | 必填  | 说明            |
392e41f4b71Sopenharmony_ci| ----------------- | ------ | --- | ------------- |
393e41f4b71Sopenharmony_ci| versionName       | string | 是   | 待更新的系统版本名称。   |
394e41f4b71Sopenharmony_ci| firstReceivedTime | number | 是   | 首次收到系统更新包的时间。 |
395e41f4b71Sopenharmony_ci| packageType       | string | 是   | 待更新的系统更新包类型。  |
396e41f4b71Sopenharmony_ci
397e41f4b71Sopenharmony_ci## OtaUpdatePolicy
398e41f4b71Sopenharmony_ci
399e41f4b71Sopenharmony_ci升级策略。
400e41f4b71Sopenharmony_ci
401e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
402e41f4b71Sopenharmony_ci
403e41f4b71Sopenharmony_ci| 名称         | 类型     | 必填 | 说明                            |
404e41f4b71Sopenharmony_ci| ----------- | --------| ---- | ------------------------------- |
405e41f4b71Sopenharmony_ci| policyType        | [PolicyType](#policytype)   | 是   | 表示升级策略类型。 |
406e41f4b71Sopenharmony_ci| version | string   | 是   | 表示待升级软件版本号。 |
407e41f4b71Sopenharmony_ci| latestUpdateTime        | number   | 否   | 表示最晚升级时间(时间戳)。 |
408e41f4b71Sopenharmony_ci| delayUpdateTime | number   | 否   | 表示延迟升级时间(单位:小时)。 |
409e41f4b71Sopenharmony_ci| installStartTime        | number   | 否   | 表示指定安装窗口起始时间(时间戳)。 |
410e41f4b71Sopenharmony_ci| installEndTime | number   | 否   | 表示指定安装窗口结束时间(时间戳)。 |
411e41f4b71Sopenharmony_ci
412e41f4b71Sopenharmony_ci## PolicyType
413e41f4b71Sopenharmony_ci
414e41f4b71Sopenharmony_ci升级策略类型枚举。
415e41f4b71Sopenharmony_ci
416e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
417e41f4b71Sopenharmony_ci
418e41f4b71Sopenharmony_ci| 名称                | 值  | 说明    |
419e41f4b71Sopenharmony_ci| ----------------- | ---- | ----- |
420e41f4b71Sopenharmony_ci| DEFAULT | 0 | 默认升级策略。周期提示用户,用户确认后升级。 |
421e41f4b71Sopenharmony_ci| PROHIBIT  | 1 | 禁止升级策略。 |
422e41f4b71Sopenharmony_ci| UPDATE_TO_SPECIFIC_VERSION | 2 | 强制升级策略。需指定最晚升级时间(latestUpdateTime)参数。 |
423e41f4b71Sopenharmony_ci| WINDOWS | 3 | 指定时间窗口升级策略。需指定时间窗口参数(installStartTime、installEndTime)。 |
424e41f4b71Sopenharmony_ci| POSTPONE | 4 | 延迟升级策略。延迟指定时间(delayUpdateTime)后进入DEFAULT模式,周期提示用户升级。 |
425e41f4b71Sopenharmony_ci
426e41f4b71Sopenharmony_ci## UpdatePackageInfo
427e41f4b71Sopenharmony_ci
428e41f4b71Sopenharmony_ci系统更新包信息。
429e41f4b71Sopenharmony_ci
430e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
431e41f4b71Sopenharmony_ci
432e41f4b71Sopenharmony_ci| 名称                | 类型     | 必填  | 说明            |
433e41f4b71Sopenharmony_ci| ----------------- | ------ | --- | ------------- |
434e41f4b71Sopenharmony_ci| version       | string | 是   | 系统更新包版本号。   |
435e41f4b71Sopenharmony_ci| packages | Array&lt;[Package](#package)&gt; | 是   | 系统更新包详情。 |
436e41f4b71Sopenharmony_ci| description       | [PackageDescription](#packagedescription) | 否   | 系统更新包描述信息。  |
437e41f4b71Sopenharmony_ci
438e41f4b71Sopenharmony_ci## Package
439e41f4b71Sopenharmony_ci
440e41f4b71Sopenharmony_ci系统更新包详情。
441e41f4b71Sopenharmony_ci
442e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
443e41f4b71Sopenharmony_ci
444e41f4b71Sopenharmony_ci| 名称                | 类型     | 必填  | 说明            |
445e41f4b71Sopenharmony_ci| ----------------- | ------ | --- | ------------- |
446e41f4b71Sopenharmony_ci| type       | [PackageType](#packagetype) | 是   | 系统更新包类型。   |
447e41f4b71Sopenharmony_ci| path | string | 是   | 系统更新包文件路径。若传入fd参数,该参数传入更新包文件名。 |
448e41f4b71Sopenharmony_ci| fd       | number | 否   | 系统更新包文件句柄。当前不支持只传入path参数,需要传入fd。  |
449e41f4b71Sopenharmony_ci
450e41f4b71Sopenharmony_ci## PackageDescription
451e41f4b71Sopenharmony_ci
452e41f4b71Sopenharmony_ci系统更新包描述信息。
453e41f4b71Sopenharmony_ci
454e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
455e41f4b71Sopenharmony_ci
456e41f4b71Sopenharmony_ci| 名称                | 类型     | 必填  | 说明            |
457e41f4b71Sopenharmony_ci| ----------------- | ------ | --- | ------------- |
458e41f4b71Sopenharmony_ci| notify       | [NotifyDescription](#notifydescription) | 否   | 企业自定义更新通知说明。   |
459e41f4b71Sopenharmony_ci
460e41f4b71Sopenharmony_ci## NotifyDescription
461e41f4b71Sopenharmony_ci
462e41f4b71Sopenharmony_ci企业自定义更新通知说明。
463e41f4b71Sopenharmony_ci
464e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
465e41f4b71Sopenharmony_ci
466e41f4b71Sopenharmony_ci| 名称                | 类型     | 必填  | 说明            |
467e41f4b71Sopenharmony_ci| ----------------- | ------ | --- | ------------- |
468e41f4b71Sopenharmony_ci| installTips       | string | 否   | 企业自定义更新提示。   |
469e41f4b71Sopenharmony_ci| installTipsDetail       | string | 否   | 企业自定义更新提示详情。   |
470e41f4b71Sopenharmony_ci
471e41f4b71Sopenharmony_ci## UpdateResult
472e41f4b71Sopenharmony_ci
473e41f4b71Sopenharmony_ci系统更新结果信息。
474e41f4b71Sopenharmony_ci
475e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
476e41f4b71Sopenharmony_ci
477e41f4b71Sopenharmony_ci| 名称                | 类型   | 可读  | 可写   | 说明            |
478e41f4b71Sopenharmony_ci| ----------------- | ------ | ------ | ------ | ------------- |
479e41f4b71Sopenharmony_ci| version       | string |  是 | 否 |系统当前版本号。   |
480e41f4b71Sopenharmony_ci| status       | [UpdateStatus](#updatestatus) | 是 | 否 | 系统更新状态。   |
481e41f4b71Sopenharmony_ci| errorInfo       | [ErrorInfo](#errorinfo) | 是 | 否 | 系统更新错误信息。   |
482e41f4b71Sopenharmony_ci
483e41f4b71Sopenharmony_ci## ErrorInfo
484e41f4b71Sopenharmony_ci
485e41f4b71Sopenharmony_ci系统更新错误信息。
486e41f4b71Sopenharmony_ci
487e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
488e41f4b71Sopenharmony_ci
489e41f4b71Sopenharmony_ci| 名称                | 类型     | 可读  | 可写 | 说明            |
490e41f4b71Sopenharmony_ci| ----------------- | ------ | ------ | ------ | ------------- |
491e41f4b71Sopenharmony_ci| code       | number | 是 | 否 | 错误码。   |
492e41f4b71Sopenharmony_ci| message       | string | 是 | 否 | 错误描述信息。   |
493e41f4b71Sopenharmony_ci
494e41f4b71Sopenharmony_ci## PackageType
495e41f4b71Sopenharmony_ci
496e41f4b71Sopenharmony_ci系统更新包类型。
497e41f4b71Sopenharmony_ci
498e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
499e41f4b71Sopenharmony_ci
500e41f4b71Sopenharmony_ci| 名称                | 值  | 说明    |
501e41f4b71Sopenharmony_ci| ----------------- | ---- | ----- |
502e41f4b71Sopenharmony_ci| FIRMWARE | 1 | 固件。 |
503e41f4b71Sopenharmony_ci
504e41f4b71Sopenharmony_ci## UpdateStatus
505e41f4b71Sopenharmony_ci
506e41f4b71Sopenharmony_ci系统更新状态。
507e41f4b71Sopenharmony_ci
508e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
509e41f4b71Sopenharmony_ci
510e41f4b71Sopenharmony_ci| 名称               | 值  | 说明    |
511e41f4b71Sopenharmony_ci| -----------------  | ---- | ----- |
512e41f4b71Sopenharmony_ci| NO_UPDATE_PACKAGE  | -4 | 指定版本系统更新包不存在。 |
513e41f4b71Sopenharmony_ci| UPDATE_WAITING     | -3 | 系统更新包等待安装中。 |
514e41f4b71Sopenharmony_ci| UPDATING           | -2 | 正在更新。 |
515e41f4b71Sopenharmony_ci| UPDATE_FAILURE     | -1 | 更新失败。 |
516e41f4b71Sopenharmony_ci| UPDATE_SUCCESS     | 0 | 更新成功。 |
517