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<UpdateResult> 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<[UpdateResult](#updateresult)> | 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<[Package](#package)> | 是 | 系统更新包详情。 | 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