1# @ohos.resourceschedule.workScheduler (延迟任务调度) 2<!--Kit: Background Tasks Kit--> 3<!--Subsystem: ResourceSchedule--> 4<!--Owner: @cheng-shichang--> 5<!--Designer: @zhouben25--> 6<!--Tester: @fenglili18--> 7<!--Adviser: @Brilliantry_Rui--> 8 9本模块提供延迟任务注册、取消、查询的能力。在开发过程中,对于实时性要求不高的任务,可以调用本模块接口注册延迟任务,在系统空闲时根据性能、功耗、热等情况进行调度执行。 10 11> **说明:** 12> 13> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14> 15> 本模块接口仅可在Stage模型下使用。 16 17## 导入模块 18 19```ts 20import { workScheduler } from '@kit.BackgroundTasksKit'; 21``` 22 23## workScheduler.startWork 24 25startWork(work: WorkInfo): void 26 27申请延迟任务。 28 29**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 30 31**参数**: 32 33| 参数名 | 类型 | 必填 | 说明 | 34| ---- | --------------------- | ---- | -------------- | 35| work | [WorkInfo](#workinfo) | 是 | 要添加到执行队列的延迟任务。 | 36 37**错误码**: 38 39以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 40 41| 错误码ID | 错误信息 | 42| ---- | --------------------- | 43| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. | 44| 9700001 | Memory operation failed. | 45| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 46| 9700003 | System service operation failed. | 47| 9700004 | Check on workInfo failed. | 48| 9700005 | Calling startWork failed. | 49 50**示例**: 51 52```ts 53 import { BusinessError } from '@kit.BasicServicesKit'; 54 import { workScheduler } from '@kit.BackgroundTasksKit'; 55 56 let workInfo: workScheduler.WorkInfo = { 57 workId: 1, 58 batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW, 59 isRepeat: false, 60 isPersisted: true, 61 bundleName: "com.example.myapplication", 62 abilityName: "MyExtension", 63 parameters: { 64 mykey0: 1, 65 mykey1: "string value", 66 mykey2: true, 67 mykey3: 1.5 68 } 69 } 70 try{ 71 workScheduler.startWork(workInfo); 72 console.info('workschedulerLog startWork success'); 73 } catch (error) { 74 console.error(`workschedulerLog startwork failed. code is ${(error as BusinessError).code} message is ${(error as BusinessError).message}`); 75 } 76``` 77 78## workScheduler.stopWork 79 80stopWork(work: WorkInfo, needCancel?: boolean): void 81 82取消延迟任务。 83 84**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 85 86**参数**: 87 88| 参数名 | 类型 | 必填 | 说明 | 89| ---------- | --------------------- | ---- | ---------- | 90| work | [WorkInfo](#workinfo) | 是 | 要停止或移除的延迟任务。 | 91| needCancel | boolean | 否 | 是否需要移除任务。<br>true表示停止并移除,false表示只停止不移除。默认为false。| 92 93**错误码**: 94 95以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 96 97| 错误码ID | 错误信息 | 98| ---- | --------------------- | 99| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. | 100| 9700001 | Memory operation failed. | 101| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 102| 9700003 | System service operation failed. | 103| 9700004 | Check on workInfo failed. | 104 105**示例**: 106 107```ts 108 import { BusinessError } from '@kit.BasicServicesKit'; 109 import { workScheduler } from '@kit.BackgroundTasksKit'; 110 111 let workInfo: workScheduler.WorkInfo = { 112 workId: 1, 113 batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW, 114 isRepeat: false, 115 isPersisted: true, 116 bundleName: "com.example.myapplication", 117 abilityName: "MyExtension", 118 parameters: { 119 mykey0: 1, 120 mykey1: "string value", 121 mykey2: true, 122 mykey3: 1.5 123 } 124 } 125 try{ 126 workScheduler.stopWork(workInfo, false); 127 console.info('workschedulerLog stopWork success'); 128 } catch (error) { 129 console.error(`workschedulerLog stopWork failed. code is ${(error as BusinessError).code} message is ${(error as BusinessError).message}`); 130 } 131``` 132 133## workScheduler.getWorkStatus 134 135getWorkStatus(workId: number, callback : AsyncCallback\<WorkInfo>): void 136 137通过workId获取延迟任务,使用Callback异步回调。 138 139**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 140 141**参数**: 142 143| 参数名 | 类型 | 必填 | 说明 | 144| -------- | ------------------------------------- | ---- | ---------------------------------------- | 145| workId | number | 是 | 延迟任务Id。 | 146| callback | AsyncCallback\<[WorkInfo](#workinfo)> | 是 | 回调函数。如果workId有效,则返回从WorkSchedulerService获取的任务,否则抛出异常。 | 147 148**错误码**: 149 150以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 151 152| 错误码ID | 错误信息 | 153| ---- | --------------------- | 154| 401 | Parameter error. Possible causes: Parameter verification failed. | 155| 9700001 | Memory operation failed. | 156| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 157| 9700003 | System service operation failed. | 158| 9700004 | Check on workInfo failed. | 159 160**示例**: 161 162```ts 163 import { BusinessError } from '@kit.BasicServicesKit'; 164 import { workScheduler } from '@kit.BackgroundTasksKit'; 165 166 workScheduler.getWorkStatus(50, (error: BusinessError, res: workScheduler.WorkInfo) => { 167 if (error) { 168 console.error(`workschedulerLog getWorkStatus failed. code is ${error.code} message is ${error.message}`); 169 } else { 170 console.info(`workschedulerLog getWorkStatus success, ${JSON.stringify(res)}`); 171 } 172 }); 173``` 174 175## workScheduler.getWorkStatus 176 177getWorkStatus(workId: number): Promise\<WorkInfo> 178 179通过workId获取延迟任务,使用Promise异步回调。 180 181**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 182 183**参数**: 184 185| 参数名 | 类型 | 必填 | 说明 | 186| ------ | ------ | ---- | -------- | 187| workId | number | 是 | 延迟任务Id。 | 188 189**返回值**: 190 191| 类型 | 说明 | 192| ------------------------------- | ---------------------------------------- | 193| Promise\<[WorkInfo](#workinfo)> | Promise对象,如果workId有效,则返回从WorkSchedulerService获取的任务,否则抛出异常。 | 194 195**错误码**: 196 197以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 198 199| 错误码ID | 错误信息 | 200| ---- | --------------------- | 201| 401 | Parameter error. Possible causes: Parameter verification failed. | 202| 9700001 | Memory operation failed. | 203| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 204| 9700003 | System service operation failed. | 205| 9700004 | Check on workInfo failed. | 206 207**示例**: 208 209```ts 210 import { BusinessError } from '@kit.BasicServicesKit'; 211 import { workScheduler } from '@kit.BackgroundTasksKit'; 212 213 workScheduler.getWorkStatus(50).then((res: workScheduler.WorkInfo) => { 214 console.info(`workschedulerLog getWorkStatus success, ${JSON.stringify(res)}`); 215 }).catch((error: BusinessError) => { 216 console.error(`workschedulerLog getWorkStatus failed. code is ${error.code} message is ${error.message}`); 217 }) 218``` 219 220## workScheduler.obtainAllWorks<sup>(deprecated)<sup> 221 222obtainAllWorks(callback : AsyncCallback\<void>) : Array\<WorkInfo> 223> 从API version 10开始不再维护,建议使用[workScheduler.obtainAllWorks<sup>10+<sup>](#workschedulerobtainallworks10)替代 224 225获取当前应用所有的延迟任务,使用Callback异步回调。 226 227**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 228 229**参数**: 230 231| 参数名 | 类型 | 必填 | 说明 | 232| -------- | -------------------- | ---- | ------------------------------- | 233| callback | AsyncCallback\<void> | 是 | 回调函数,获取成功时,err为undefined,否则为错误对象。 | 234 235**返回值**: 236 237| 类型 | 说明 | 238| ------------------------------- | ---------------------------------------- | 239| Array\<[WorkInfo](#workinfo)> | 延迟任务列表,如果已添加延迟任务到执行队列,则返回当前应用所有的延迟任务列表;否则返回空列表。| 240 241**错误码**: 242 243以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 244 245| 错误码ID | 错误信息 | 246| ---- | --------------------- | 247| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types. | 248| 9700001 | Memory operation failed. | 249| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 250| 9700003 | System service operation failed. | 251 252## workScheduler.obtainAllWorks<sup>10+<sup> 253 254obtainAllWorks(callback : AsyncCallback<Array<WorkInfo>>): void 255 256获取当前应用所有的延迟任务,使用Callback异步回调。 257 258**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 259 260**参数**: 261 262| 参数名 | 类型 | 必填 | 说明 | 263| -------- | -------------------- | ---- | ------------------------------- | 264| callback | AsyncCallback<Array<WorkInfo>> | 是 | 回调函数,获取成功时,err为undefined,否则为错误对象。 | 265 266**错误码**: 267 268以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 269 270| 错误码ID | 错误信息 | 271| ---- | --------------------- | 272| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types. | 273| 9700001 | Memory operation failed. | 274| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 275| 9700003 | System service operation failed. | 276 277**示例**: 278 279```ts 280 import { BusinessError } from '@kit.BasicServicesKit'; 281 import { workScheduler } from '@kit.BackgroundTasksKit'; 282 283 workScheduler.obtainAllWorks((error: BusinessError, res: Array<workScheduler.WorkInfo>) =>{ 284 if (error) { 285 console.error(`workschedulerLog obtainAllWorks failed. code is ${error.code} message is ${error.message}`); 286 } else { 287 console.info(`workschedulerLog obtainAllWorks success, data is: ${JSON.stringify(res)}`); 288 } 289 }); 290``` 291 292## workScheduler.obtainAllWorks 293 294obtainAllWorks(): Promise\<Array\<WorkInfo>> 295 296获取当前应用所有的延迟任务,使用Promise异步回调。 297 298**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 299 300**返回值**: 301 302| 类型 | 说明 | 303| -------------------------------------- | ------------------------------ | 304| Promise<Array\<[WorkInfo](#workinfo)>> | Promise对象,返回当前应用所有的延迟任务。 | 305 306**错误码**: 307 308以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 309 310| 错误码ID | 错误信息 | 311| ---- | --------------------- | 312| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types. | 313| 9700001 | Memory operation failed. | 314| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 315| 9700003 | System service operation failed. | 316 317**示例**: 318 319```ts 320 import { BusinessError } from '@kit.BasicServicesKit'; 321 import { workScheduler } from '@kit.BackgroundTasksKit'; 322 323 workScheduler.obtainAllWorks().then((res: Array<workScheduler.WorkInfo>) => { 324 console.info(`workschedulerLog obtainAllWorks success, data is: ${JSON.stringify(res)}`); 325 }).catch((error: BusinessError) => { 326 console.error(`workschedulerLog obtainAllWorks failed. code is ${error.code} message is ${error.message}`); 327 }) 328``` 329 330## workScheduler.stopAndClearWorks 331 332stopAndClearWorks(): void 333 334停止和取消当前应用所有的延迟任务。 335 336**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 337 338**错误码**: 339 340以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 341 342| 错误码ID | 错误信息 | 343| ---- | --------------------- | 344| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types. | 345| 9700001 | Memory operation failed. | 346| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 347| 9700003 | System service operation failed. | 348 349**示例**: 350 351```ts 352 import { BusinessError } from '@kit.BasicServicesKit'; 353 import { workScheduler } from '@kit.BackgroundTasksKit'; 354 355 try{ 356 workScheduler.stopAndClearWorks(); 357 console.info(`workschedulerLog stopAndClearWorks success`); 358 } catch (error) { 359 console.error(`workschedulerLog stopAndClearWorks failed. code is ${(error as BusinessError).code} message is ${(error as BusinessError).message}`); 360 } 361``` 362 363## workScheduler.isLastWorkTimeOut<sup>(deprecated)<sup> 364 365isLastWorkTimeOut(workId: number, callback : AsyncCallback\<void>): boolean 366 367> 从API version 10开始不再维护,建议使用[workScheduler.isLastWorkTimeOut<sup>10+<sup>](#workschedulerislastworktimeout10)替代 368 369检查延迟任务的最后一次执行是否超时,使用Callback异步回调。 370 371**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 372 373**参数**: 374 375| 参数名 | 类型 | 必填 | 说明 | 376| -------- | -------------------- | ---- | ---------------------------------------- | 377| workId | number | 是 | 指定延迟任务的Id。 | 378| callback | AsyncCallback\<void> | 是 | 回调函数。 | 379 380**返回值**: 381 382| 类型 | 说明 | 383| ------------------------------- | ---------------------------------------- | 384|boolean| 检查延迟任务最后一次执行是否超时,如果workId有效,则返回从WorkSchedulerService获取的任务最后一次执行是否超时;否则,抛出异常。true,对应workId延迟任务最后一次执行超时,false,对应workId延迟任务最后一次执行未超时。| 385 386**错误码**: 387 388以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 389 390| 错误码ID | 错误信息 | 391| ---- | --------------------- | 392| 401 | Parameter error. Possible causes: Parameter verification failed. | 393| 9700001 | Memory operation failed. | 394| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 395| 9700003 | System service operation failed. | 396| 9700004 | Check on workInfo failed. | 397 398## workScheduler.isLastWorkTimeOut<sup>10+<sup> 399 400isLastWorkTimeOut(workId: number, callback : AsyncCallback\<boolean>): void 401 402检查延迟任务的最后一次执行是否超时,使用Callback异步回调。 403 404**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 405 406**参数**: 407 408| 参数名 | 类型 | 必填 | 说明 | 409| -------- | -------------------- | ---- | ---------------------------------------- | 410| workId | number | 是 | 指定延迟任务的Id。 | 411| callback | AsyncCallback\<boolean> | 是 | 回调函数。 | 412 413**错误码**: 414 415以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 416 417| 错误码ID | 错误信息 | 418| ---- | --------------------- | 419| 401 | Parameter error. Possible causes: Parameter verification failed. | 420| 9700001 | Memory operation failed. | 421| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 422| 9700003 | System service operation failed. | 423| 9700004 | Check on workInfo failed. | 424 425**示例**: 426 427```ts 428 import { BusinessError } from '@kit.BasicServicesKit'; 429 import { workScheduler } from '@kit.BackgroundTasksKit'; 430 431 workScheduler.isLastWorkTimeOut(500, (error: BusinessError, res: boolean) =>{ 432 if (error) { 433 console.error(`workschedulerLog isLastWorkTimeOut failed. code is ${error.code} message is ${error.message}`); 434 } else { 435 console.info(`workschedulerLog isLastWorkTimeOut success, data is: ${res}`); 436 } 437 }); 438``` 439 440## workScheduler.isLastWorkTimeOut 441 442isLastWorkTimeOut(workId: number): Promise\<boolean> 443 444检查延迟任务的最后一次执行是否超时,使用Promise形式返回。 445 446**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 447 448**参数**: 449 450| 参数名 | 类型 | 必填 | 说明 | 451| ------ | ------ | ---- | -------- | 452| workId | number | 是 | 指定延迟任务的Id。 | 453 454**返回值**: 455 456| 类型 | 说明 | 457| ----------------- | ---------------------------------------- | 458| Promise\<boolean> | Promise对象。返回true表示指定任务的最后一次执行超时,false表示未超时。 | 459 460**错误码**: 461 462以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[workScheduler错误码](errorcode-workScheduler.md)。 463 464| 错误码ID | 错误信息 | 465| ---- | --------------------- | 466| 401 | Parameter error. Possible causes: Parameter verification failed. | 467| 9700001 | Memory operation failed. | 468| 9700002 | Failed to write data into parcel. Possible reasons: 1. Invalid parameters; 2. Failed to apply for memory. | 469| 9700003 | System service operation failed. | 470| 9700004 | Check on workInfo failed. | 471 472**示例**: 473 474```ts 475 import { BusinessError } from '@kit.BasicServicesKit'; 476 import { workScheduler } from '@kit.BackgroundTasksKit'; 477 478 workScheduler.isLastWorkTimeOut(500) 479 .then((res: boolean) => { 480 console.info(`workschedulerLog isLastWorkTimeOut success, data is: ${res}`); 481 }) 482 .catch((error: BusinessError) => { 483 console.error(`workschedulerLog isLastWorkTimeOut failed. code is ${error.code} message is ${error.message}`); 484 }); 485``` 486 487## WorkInfo 488 489延迟任务的具体信息。 490 491**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 492 493| 名称 | 类型 | 必填 | 说明 | 494| --------------- | --------------------------------- | ---- | ---------------- | 495| workId | number | 是 | 延迟任务ID。 | 496| bundleName | string | 是 | 延迟任务所在应用的包名。 | 497| abilityName | string | 是 | 包内ability名称。 | 498| networkType | [NetworkType](#networktype) | 否 | 网络类型。 | 499| isCharging | boolean | 否 | 是否充电,默认为false。<br>- true表示充电触发延迟回调。<br>- false表示不充电触发延迟回调。| 500| chargerType | [ChargingType](#chargingtype) | 否 | 充电类型。 | 501| batteryLevel | number | 否 | 电量。 | 502| batteryStatus | [BatteryStatus](#batterystatus) | 否 | 电池状态。 | 503| storageRequest | [StorageRequest](#storagerequest) | 否 | 存储状态。 | 504| isRepeat | boolean | 否 | 是否循环任务,默认为false。<br>- true表示循环任务。 <br>- false表示非循环任务。 | 505| repeatCycleTime | number | 否 | 循环间隔,单位为毫秒。 | 506| repeatCount | number | 否 | 循环次数。 | 507| isPersisted | boolean | 否 | 注册的延迟任务是否可保存在系统中,默认为false。<br>- true表示可保存,即系统重启后,任务可恢复。<br>- false表示不可保存。| 508| isDeepIdle | boolean | 否 | 是否要求设备进入空闲状态,默认为false。<br>- true表示需要。<br>- false表示不需要。 | 509| idleWaitTime | number | 否 | 空闲等待时间,单位为毫秒。 | 510| parameters | Record<string, number \| string \| boolean> | 否 | 携带参数信息。 | 511 512## NetworkType 513 514触发延迟回调的网络类型。 515 516**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 517 518| 名称 | 值 | 说明 | 519| ---------------------- | ---- | ----------------------- | 520| NETWORK_TYPE_ANY | 0 | 表示这个触发条件是任何类型的网络连接。 | 521| NETWORK_TYPE_MOBILE | 1 | 表示这个触发条件是Mobile网络连接。 | 522| NETWORK_TYPE_WIFI | 2 | 表示这个触发条件是Wifi类型的网络连接。 | 523| NETWORK_TYPE_BLUETOOTH | 3 | 表示这个触发条件是Bluetooth网络连接。 | 524| NETWORK_TYPE_WIFI_P2P | 4 | 表示这个触发条件是Wifi P2P网络连接。 | 525| NETWORK_TYPE_ETHERNET | 5 | 表示这个触发条件是有线网络连接。 | 526 527## ChargingType 528 529触发延迟回调的充电类型。 530 531**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 532 533| 名称 | 值 | 说明 | 534| ------------------------- | ---- | -------------------- | 535| CHARGING_PLUGGED_ANY | 0 | 表示这个触发条件是任何类型的充电器连接。 | 536| CHARGING_PLUGGED_AC | 1 | 表示这个触发条件是直流充电器连接。 | 537| CHARGING_PLUGGED_USB | 2 | 表示这个触发条件是USB充连接。 | 538| CHARGING_PLUGGED_WIRELESS | 3 | 表示这个触发条件是无线充电器连接。 | 539 540## BatteryStatus 541 542触发延迟回调的电池状态。 543 544**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 545 546| 名称 | 值 | 说明 | 547| -------------------------- | ---- | -------------------------- | 548| BATTERY_STATUS_LOW | 0 | 表示这个触发条件是低电告警。 | 549| BATTERY_STATUS_OKAY | 1 | 表示这个触发条件是从低电恢复到正常电量。 | 550| BATTERY_STATUS_LOW_OR_OKAY | 2 | 表示这个触发条件是从低电恢复到正常电量或者低电告警。 | 551 552## StorageRequest 553 554触发延迟回调的存储状态。 555 556**系统能力**:SystemCapability.ResourceSchedule.WorkScheduler 557 558| 名称 | 值 | 说明 | 559| ------------------------- | ---- | ------------------------------ | 560| STORAGE_LEVEL_LOW | 0 | 表示这个触发条件是存储空间不足。 | 561| STORAGE_LEVEL_OKAY | 1 | 表示这个触发条件是从存储空间不足恢复到正常。 | 562| STORAGE_LEVEL_LOW_OR_OKAY | 2 | 表示这个触发条件是存储空间不足或者从存储空间不足恢复到正常。 |