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