1e41f4b71Sopenharmony_ci# @ohos.resourceschedule.backgroundTaskManager (后台任务管理)(系统接口) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci本模块提供申请后台任务的接口。当应用退至后台时,开发者可以通过本模块接口为应用申请短时、长时任务,避免应用进程被终止或挂起。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8e41f4b71Sopenharmony_ci> 9e41f4b71Sopenharmony_ci> - 当前页面仅包含本模块的系统接口,其他公开接口请参见[@ohos.resourceschedule.backgroundTaskManager (后台任务管理)](js-apis-resourceschedule-backgroundTaskManager.md)。 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci## 导入模块 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci```ts 14e41f4b71Sopenharmony_ciimport { backgroundTaskManager } from '@kit.BackgroundTasksKit'; 15e41f4b71Sopenharmony_ci``` 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci## backgroundTaskManager.applyEfficiencyResources 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ciapplyEfficiencyResources(request: EfficiencyResourcesRequest): void 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci申请能效资源。 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.ResourceSchedule.BackgroundTaskManager.EfficiencyResourcesApply 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci**系统API**: 此接口为系统接口。 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci**参数**: 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 30e41f4b71Sopenharmony_ci| ------- | ------- | ---- | ---------------------------------------- | 31e41f4b71Sopenharmony_ci| request | [EfficiencyResourcesRequest](#efficiencyresourcesrequest) | 是 | 请求的必要信息,包括资源类型、超时时间等。 | 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci**错误码**: 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[backgroundTaskManager错误码](errorcode-backgroundTaskMgr.md)和[通用错误码](../errorcode-universal.md)。 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 39e41f4b71Sopenharmony_ci| ---- | --------------------- | 40e41f4b71Sopenharmony_ci| 201 | Permission denied. | 41e41f4b71Sopenharmony_ci| 202 | Not System App. | 42e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types; 3. Parameter verification failed. | 43e41f4b71Sopenharmony_ci| 9800001 | Memory operation failed. | 44e41f4b71Sopenharmony_ci| 9800002 | Parcel operation failed. | 45e41f4b71Sopenharmony_ci| 9800003 | Internal transaction failed. | 46e41f4b71Sopenharmony_ci| 9800004 | System service operation failed. | 47e41f4b71Sopenharmony_ci| 18700001 | Caller information verification failed for an energy resource request. | 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ci**示例**: 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci```js 52e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_cilet request: backgroundTaskManager.EfficiencyResourcesRequest = { 55e41f4b71Sopenharmony_ci resourceTypes: backgroundTaskManager.ResourceType.CPU, 56e41f4b71Sopenharmony_ci isApply: true, 57e41f4b71Sopenharmony_ci timeOut: 0, 58e41f4b71Sopenharmony_ci reason: "apply", 59e41f4b71Sopenharmony_ci isPersist: true, 60e41f4b71Sopenharmony_ci isProcess: false, 61e41f4b71Sopenharmony_ci}; 62e41f4b71Sopenharmony_citry { 63e41f4b71Sopenharmony_ci backgroundTaskManager.applyEfficiencyResources(request); 64e41f4b71Sopenharmony_ci console.info("applyEfficiencyResources success. "); 65e41f4b71Sopenharmony_ci} catch (error) { 66e41f4b71Sopenharmony_ci console.error(`applyEfficiencyResources failed. code is ${(error as BusinessError).code} message is ${(error as BusinessError).message}`); 67e41f4b71Sopenharmony_ci} 68e41f4b71Sopenharmony_ci``` 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci## backgroundTaskManager.resetAllEfficiencyResources 71e41f4b71Sopenharmony_ci 72e41f4b71Sopenharmony_ciresetAllEfficiencyResources(): void 73e41f4b71Sopenharmony_ci 74e41f4b71Sopenharmony_ci释放已申请的全部能效资源。 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.EfficiencyResourcesApply 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ci**系统API**: 此接口为系统接口。 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ci**错误码**: 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[backgroundTaskManager错误码](errorcode-backgroundTaskMgr.md)和[通用错误码](../errorcode-universal.md)。 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 85e41f4b71Sopenharmony_ci| ---- | --------------------- | 86e41f4b71Sopenharmony_ci| 201 | Permission denied. | 87e41f4b71Sopenharmony_ci| 202 | Not System App. | 88e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. | 89e41f4b71Sopenharmony_ci| 9800001 | Memory operation failed. | 90e41f4b71Sopenharmony_ci| 9800002 | Parcel operation failed. | 91e41f4b71Sopenharmony_ci| 9800003 | Internal transaction failed. | 92e41f4b71Sopenharmony_ci| 9800004 | System service operation failed. | 93e41f4b71Sopenharmony_ci| 18700001 | Caller information verification failed for an energy resource request. | 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci**示例**: 96e41f4b71Sopenharmony_ci 97e41f4b71Sopenharmony_ci```js 98e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_citry { 101e41f4b71Sopenharmony_ci backgroundTaskManager.resetAllEfficiencyResources(); 102e41f4b71Sopenharmony_ci} catch (error) { 103e41f4b71Sopenharmony_ci console.error(`resetAllEfficiencyResources failed. code is ${(error as BusinessError).code} message is ${(error as BusinessError).message}`); 104e41f4b71Sopenharmony_ci} 105e41f4b71Sopenharmony_ci``` 106e41f4b71Sopenharmony_ci 107e41f4b71Sopenharmony_ci## BackgroundMode 108e41f4b71Sopenharmony_ci 109e41f4b71Sopenharmony_ci长时任务模式。 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask 112e41f4b71Sopenharmony_ci 113e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 114e41f4b71Sopenharmony_ci| ----------------------- | ---- | --------------------- | 115e41f4b71Sopenharmony_ci| WIFI_INTERACTION | 7 | WLAN相关。<br>**系统API**: 此接口为系统接口。 | 116e41f4b71Sopenharmony_ci| VOIP | 8 | 音视频通话。<br>**系统API**: 此接口为系统接口。 | 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ci## EfficiencyResourcesRequest 119e41f4b71Sopenharmony_ci 120e41f4b71Sopenharmony_ci能效资源申请参数。 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.EfficiencyResourcesApply 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci**系统API**: 此接口为系统接口。 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 127e41f4b71Sopenharmony_ci| --------------- | ------ | ---- | ---------------------------------------- | 128e41f4b71Sopenharmony_ci| resourceTypes | number | 是 | 申请的资源类型。 | 129e41f4b71Sopenharmony_ci| isApply | boolean | 是 | 申请或释放资源。<br>- true表示申请资源,false表示释放部分资源。 | 130e41f4b71Sopenharmony_ci| timeOut | number | 是 | 资源使用时间,单位为毫秒。 | 131e41f4b71Sopenharmony_ci| isPersist | boolean | 否 | 是否永久持有资源,默认为false。<br>- true表示永久持有,false表示有限时间内持有。| 132e41f4b71Sopenharmony_ci| isProcess | boolean | 否 | 进程或应用申请,默认为false。<br>- true表示进程申请,false表示应用申请。 | 133e41f4b71Sopenharmony_ci| reason | string | 是 | 申请资源原因。 | 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci## ResourceType 136e41f4b71Sopenharmony_ci 137e41f4b71Sopenharmony_ci能效资源类型。 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.EfficiencyResourcesApply 140e41f4b71Sopenharmony_ci 141e41f4b71Sopenharmony_ci**系统API**: 此接口为系统接口。 142e41f4b71Sopenharmony_ci 143e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 144e41f4b71Sopenharmony_ci| ----------------------- | ---- | --------------------- | 145e41f4b71Sopenharmony_ci| CPU | 1 | CPU资源,申请后应用进程不被挂起。 | 146e41f4b71Sopenharmony_ci| COMMON_EVENT | 2 | 公共事件资源,申请后应用进程被挂起后,可以收到公共事件。 | 147e41f4b71Sopenharmony_ci| TIMER | 4 | 计时器,申请后应用进程被挂起后,Timer仍然可以唤醒应用。 | 148e41f4b71Sopenharmony_ci| WORK_SCHEDULER | 8 | 延迟任务资源,申请后延迟任务管控变宽松。 | 149e41f4b71Sopenharmony_ci| BLUETOOTH | 16 | 蓝牙资源,申请后应用进程被挂起后,蓝牙相关事件仍然可以唤醒应用。 | 150e41f4b71Sopenharmony_ci| GPS | 32 | GPS资源,申请后应用进程被挂起后,GPS相关事件可以唤醒应用。 | 151e41f4b71Sopenharmony_ci| AUDIO | 64 | 音频资源,有音频播放时对应的应用进程不被挂起。 | 152e41f4b71Sopenharmony_ci| RUNNING_LOCK<sup>10+</sup> | 128 | RUNNING_LOCK资源,申请后挂起状态不会代理RUNNING_BACKGROUND锁。 | 153e41f4b71Sopenharmony_ci| SENSOR<sup>10+</sup> | 256 | 申请后不拦截Sensor回调。 | 154