js-apis-backgroundTaskManager.md 17.9 KB
Newer Older
廖康康 已提交
1 2
# 后台任务管理

廖康康 已提交
3
本模块提供后台任务管理能力。
廖康康 已提交
4

廖康康 已提交
5 6
当应用或业务模块处于后台(无可见界面)时,如果有需要继续执行或者后续执行的业务,可基于业务类型,申请短时任务延迟挂起(Suspend)或者长时任务避免进入挂起状态。

廖康康 已提交
7
应用有不可中断且短时间能完成的任务时(如,用户在文件管理器上点击垃圾文件清理,若清理未完成时退到后台,文件管理器需要申请短时任务完成清理),可以使用短时任务机制。
廖康康 已提交
8 9

应用中存在用户能够直观感受到的且需要一直在后台运行的业务时(如,后台播放音乐),可以使用长时任务机制。
廖康康 已提交
10

Z
zhangxin_T 已提交
11
对于系统特权应用,提供独立的能效资源申请接口。系统特权应用如果需要使用特定的系统资源,例如需要在被挂起期间仍然能够收到系统公共事件,可以使用能效资源申请接口。
Z
Zhao-PengFei35 已提交
12

H
HelloCrease 已提交
13
>  **说明:**
修改  
朱天怡 已提交
14
> - 从API Version 9 开始,该接口不再维护,推荐使用新接口[@ohos.resourceschedule.backgroundTaskManager (后台任务管理)](js-apis-resourceschedule-backgroundTaskManager.md)
修改  
朱天怡 已提交
15
> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。从API version 9开始,导入模块由@ohos.backgroundTaskManager迁移至@ohos.resourceschedule.backgroundTaskManager
廖康康 已提交
16

修改  
朱天怡 已提交
17

修改  
朱天怡 已提交
18 19 20
## 导入模块

```js
修改  
朱天怡 已提交
21
import backgroundTaskManager from '@ohos.backgroundTaskManager';  
廖康康 已提交
22 23
```

修改  
朱天怡 已提交
24

bugfix  
朱天怡 已提交
25
## backgroundTaskManager.requestSuspendDelay
廖康康 已提交
26 27 28 29 30

requestSuspendDelay(reason: string, callback: Callback<void>): DelaySuspendInfo

后台应用申请延迟挂起。

Z
zhangxin_T 已提交
31
延迟挂起时间一般情况下默认值为180000毫秒,低电量(依据系统低电量广播)时默认值为60000毫秒。
廖康康 已提交
32

Z
zhangxin_T 已提交
33 34
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask

Z
zhangxin_T 已提交
35
**参数**
修改  
朱天怡 已提交
36

H
HelloCrease 已提交
37 38 39 40
| 参数名      | 类型                   | 必填   | 说明                             |
| -------- | -------------------- | ---- | ------------------------------ |
| reason   | string               | 是    | 延迟挂起申请的原因。                     |
| callback | Callback<void> | 是    | 延迟即将超时的回调函数,一般在超时前6秒通过此回调通知应用。 |
廖康康 已提交
41

Z
zhangxin_T 已提交
42
**返回值**
修改  
朱天怡 已提交
43

H
HelloCrease 已提交
44 45 46
| 类型                                    | 说明        |
| ------------------------------------- | --------- |
| [DelaySuspendInfo](#delaysuspendinfo) | 返回延迟挂起信息。 |
廖康康 已提交
47

Z
zhangxin_T 已提交
48
**示例**
W
wangqing 已提交
49

Z
zhangxin_T 已提交
50
  ```js
修改  
朱天怡 已提交
51
  import backgroundTaskManager from '@ohos.backgroundTaskManager';
修改  
朱天怡 已提交
52

廖康康 已提交
53
  let myReason = 'test requestSuspendDelay';
修改  
朱天怡 已提交
54 55 56
  let delayInfo = backgroundTaskManager.requestSuspendDelay(myReason, () => {
      console.info("Request suspension delay will time out.");
  })
Z
zhangxin_T 已提交
57 58 59

  let id = delayInfo.requestId;
  let time = delayInfo.actualDelayTime;
修改  
朱天怡 已提交
60 61
  console.info("The requestId is: " + id);
  console.info("The actualDelayTime is: " + time);
廖康康 已提交
62 63 64
  ```


bugfix  
朱天怡 已提交
65
## backgroundTaskManager.getRemainingDelayTime
廖康康 已提交
66 67 68 69 70

getRemainingDelayTime(requestId: number, callback: AsyncCallback<number>): void

获取应用程序进入挂起状态前的剩余时间,使用callback形式返回。

Z
zhangxin_T 已提交
71 72
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask

Z
zhangxin_T 已提交
73
**参数**
修改  
朱天怡 已提交
74

H
HelloCrease 已提交
75 76
| 参数名       | 类型                          | 必填   | 说明                                       |
| --------- | --------------------------- | ---- | ---------------------------------------- |
Z
zhangxin_T 已提交
77
| requestId | number                      | 是    | 延迟挂起的请求ID。这个值通过调用[requestSuspendDelay](#backgroundtaskmanagerrequestsuspenddelay)方法获取。 |
H
HelloCrease 已提交
78
| callback  | AsyncCallback<number> | 是    | 指定的callback回调方法。用于返回应用程序进入挂起状态之前的剩余时间,以毫秒为单位。 |
廖康康 已提交
79

Z
zhangxin_T 已提交
80
**示例**
W
wangqing 已提交
81

Z
zhangxin_T 已提交
82
  ```js
修改  
朱天怡 已提交
83
  import backgroundTaskManager from '@ohos.backgroundTaskManager';
修改  
朱天怡 已提交
84

Z
zhangxin_T 已提交
85 86
  let delayInfo = backgroundTaskManager.requestSuspendDelay("test", () => {});
  backgroundTaskManager.getRemainingDelayTime(delayInfo.requestId, (err, res) => {
修改  
朱天怡 已提交
87 88 89 90 91 92
      if(err) {
          console.log('callback => Operation getRemainingDelayTime failed. Cause: ' + err.code);
      } else {
          console.log('callback => Operation getRemainingDelayTime succeeded. Data: ' + JSON.stringify(res));
      }
  })
廖康康 已提交
93 94 95
  ```


bugfix  
朱天怡 已提交
96
## backgroundTaskManager.getRemainingDelayTime
廖康康 已提交
97 98 99 100 101

getRemainingDelayTime(requestId: number): Promise<number>

获取应用程序进入挂起状态前的剩余时间,使用Promise形式返回。

Z
zhangxin_T 已提交
102 103
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask

Z
zhangxin_T 已提交
104
**参数**
修改  
朱天怡 已提交
105

H
HelloCrease 已提交
106 107
| 参数名       | 类型     | 必填   | 说明         |
| --------- | ------ | ---- | ---------- |
Z
zhangxin_T 已提交
108
| requestId | number | 是    | 延迟挂起的请求ID。这个值通过调用[requestSuspendDelay](#backgroundtaskmanagerrequestsuspenddelay)方法获取。 |
廖康康 已提交
109

Z
zhangxin_T 已提交
110
**返回值**
修改  
朱天怡 已提交
111

H
HelloCrease 已提交
112 113 114
| 类型                    | 说明                                       |
| --------------------- | ---------------------------------------- |
| Promise<number> | 指定的Promise回调方法。返回应用程序进入挂起状态之前的剩余时间,以毫秒为单位。 |
廖康康 已提交
115

Z
zhangxin_T 已提交
116
**示例**
修改  
朱天怡 已提交
117

Z
zhangxin_T 已提交
118
  ```js
Z
zhangxin_T 已提交
119 120
  let delayInfo = backgroundTaskManager.requestSuspendDelay("test", () => {});
  backgroundTaskManager.getRemainingDelayTime(delayInfo.requestId).then( res => {
修改  
朱天怡 已提交
121 122 123 124
      console.log('promise => Operation getRemainingDelayTime succeeded. Data: ' + JSON.stringify(res));
  }).catch( err => {
      console.log('promise => Operation getRemainingDelayTime failed. Cause: ' + err.code);
  })
廖康康 已提交
125 126 127
  ```


bugfix  
朱天怡 已提交
128
## backgroundTaskManager.cancelSuspendDelay
廖康康 已提交
129 130 131 132 133

cancelSuspendDelay(requestId: number): void

取消延迟挂起。

Z
zhangxin_T 已提交
134 135
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask

Z
zhangxin_T 已提交
136
**参数**
修改  
朱天怡 已提交
137

H
HelloCrease 已提交
138 139
| 参数名       | 类型     | 必填   | 说明         |
| --------- | ------ | ---- | ---------- |
Z
zhangxin_T 已提交
140
| requestId | number | 是    | 延迟挂起的请求ID。这个值通过调用[requestSuspendDelay](#backgroundtaskmanagerrequestsuspenddelay)方法获取。 |
廖康康 已提交
141

Z
zhangxin_T 已提交
142
**示例**
修改  
朱天怡 已提交
143

Z
zhangxin_T 已提交
144
  ```js
Z
zhangxin_T 已提交
145 146
  let delayInfo = backgroundTaskManager.requestSuspendDelay("test", () => {});
  backgroundTaskManager.cancelSuspendDelay(delayInfo.requestId);
廖康康 已提交
147 148 149
  ```


修改  
朱天怡 已提交
150
## backgroundTaskManager.startBackgroundRunning<sup>8+</sup>
廖康康 已提交
151

Z
zhangxin_T 已提交
152
startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent, callback: AsyncCallback&lt;void&gt;): void
Z
zhangxin_T 已提交
153 154 155

向系统申请长时任务,使用callback形式返回结果。

Z
zhangxin_T 已提交
156 157
**需要权限:** ohos.permission.KEEP_BACKGROUND_RUNNING

Z
zhangxin_T 已提交
158 159
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

Z
zhangxin_T 已提交
160
**参数**
修改  
朱天怡 已提交
161

H
HelloCrease 已提交
162 163 164 165 166 167
| 参数名       | 类型                                 | 必填   | 说明                                       |
| --------- | ---------------------------------- | ---- | ---------------------------------------- |
| context   | Context                            | 是    | 应用运行的上下文。<br>FA模型的应用Context定义见[Context](js-apis-Context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 |
| bgMode    | [BackgroundMode](#backgroundmode8) | 是    | 向系统申请的后台模式。                              |
| wantAgent | [WantAgent](js-apis-wantAgent.md)  | 是    | 通知参数,用于指定长时任务通知点击后跳转的界面。                 |
| callback  | AsyncCallback&lt;void&gt;          | 是    | callback形式返回启动长时任务的结果。                   |
Z
zhangxin_T 已提交
168

Z
zhangxin_T 已提交
169
**示例**
Z
zhangxin_T 已提交
170 171 172

FA模型示例:

Z
zhangxin_T 已提交
173
```js
修改  
朱天怡 已提交
174
import backgroundTaskManager from '@ohos.backgroundTaskManager';
Z
zhangxin_T 已提交
175 176 177
import featureAbility from '@ohos.ability.featureAbility';
import wantAgent from '@ohos.wantAgent';

修改  
朱天怡 已提交
178 179 180
function callback(err, data) {
    if (err) {
        console.error("Operation startBackgroundRunning failed Cause: " + err);
Z
zhangxin_T 已提交
181
    } else {
W
wangqing 已提交
182
        console.info("Operation startBackgroundRunning succeeded");
Z
zhangxin_T 已提交
183 184 185 186 187 188 189 190 191 192 193 194
    }
}

let wantAgentInfo = {
    wants: [
        {
            bundleName: "com.example.myapplication",
            abilityName: "com.example.myapplication.MainAbility"
        }
    ],
    operationType: wantAgent.OperationType.START_ABILITY,
    requestCode: 0,
W
wangqing 已提交
195
    wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
Z
zhangxin_T 已提交
196 197 198
};

wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
修改  
朱天怡 已提交
199
    backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
Z
zhangxin_T 已提交
200
        backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj, callback)
Z
zhangxin_T 已提交
201 202 203 204
});

```

Z
zhangxin_T 已提交
205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241
Stage模型示例:

```ts
import Ability from '@ohos.application.Ability'
import backgroundTaskManager from '@ohos.backgroundTaskManager';
import wantAgent from '@ohos.wantAgent';

function callback(err, data) {
    if (err) {
        console.error("Operation startBackgroundRunning failed Cause: " + err);
    } else {
        console.info("Operation startBackgroundRunning succeeded");
    }
}

export default class MainAbility extends Ability {
    onCreate(want, launchParam) {
        let wantAgentInfo = {
            wants: [
                {
                    bundleName: "com.example.myapplication",
                    abilityName: "com.example.myapplication.MainAbility"
                }
            ],
            operationType: wantAgent.OperationType.START_ABILITY,
            requestCode: 0,
            wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
        };

        wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
            backgroundTaskManager.startBackgroundRunning(this.context,
                backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj, callback)
        });
    }
};
```

修改  
朱天怡 已提交
242
## backgroundTaskManager.startBackgroundRunning<sup>8+</sup>
Z
zhangxin_T 已提交
243

Z
zhangxin_T 已提交
244
startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent): Promise&lt;void&gt;
Z
zhangxin_T 已提交
245 246 247

向系统申请长时任务,使用promise形式返回结果。

Z
zhangxin_T 已提交
248 249
**需要权限:** ohos.permission.KEEP_BACKGROUND_RUNNING

Z
zhangxin_T 已提交
250 251
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

Z
zhangxin_T 已提交
252
**参数**
W
wangqing 已提交
253

H
HelloCrease 已提交
254 255 256 257 258
| 参数名       | 类型                                 | 必填   | 说明                                       |
| --------- | ---------------------------------- | ---- | ---------------------------------------- |
| context   | Context                            | 是    | 应用运行的上下文。<br>FA模型的应用Context定义见[Context](js-apis-Context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 |
| bgMode    | [BackgroundMode](#backgroundmode8) | 是    | 向系统申请的后台模式。                              |
| wantAgent | [WantAgent](js-apis-wantAgent.md)  | 是    | 通知参数,用于指定长时任务通知点击跳转的界面。                  |
W
wangqing 已提交
259

260
**返回值**
修改  
朱天怡 已提交
261

H
HelloCrease 已提交
262 263 264
| 类型             | 说明               |
| -------------- | ---------------- |
| Promise\<void> | 使用Promise形式返回结果。 |
Z
zhangxin_T 已提交
265

Z
zhangxin_T 已提交
266
**示例**
Z
zhangxin_T 已提交
267 268 269

FA模型示例:

Z
zhangxin_T 已提交
270
```js
修改  
朱天怡 已提交
271
import backgroundTaskManager from '@ohos.backgroundTaskManager';
Z
zhangxin_T 已提交
272 273 274 275 276 277 278 279 280 281 282 283
import featureAbility from '@ohos.ability.featureAbility';
import wantAgent from '@ohos.wantAgent';

let wantAgentInfo = {
    wants: [
        {
            bundleName: "com.example.myapplication",
            abilityName: "com.example.myapplication.MainAbility"
        }
    ],
    operationType: wantAgent.OperationType.START_ABILITY,
    requestCode: 0,
W
wangqing 已提交
284
    wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
Z
zhangxin_T 已提交
285 286 287
};

wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
修改  
朱天怡 已提交
288
    backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
Z
zhangxin_T 已提交
289
        backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj).then(() => {
修改  
朱天怡 已提交
290 291 292 293
        console.info("Operation startBackgroundRunning succeeded");
    }).catch((err) => {
        console.error("Operation startBackgroundRunning failed Cause: " + err);
    });
Z
zhangxin_T 已提交
294
});
Z
zhangxin_T 已提交
295 296 297 298 299 300 301 302
```

Stage模型示例:

```ts
import Ability from '@ohos.application.Ability'
import backgroundTaskManager from '@ohos.backgroundTaskManager';
import wantAgent from '@ohos.wantAgent';
Z
zhangxin_T 已提交
303

Z
zhangxin_T 已提交
304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327
export default class MainAbility extends Ability {
    onCreate(want, launchParam) {
        let wantAgentInfo = {
            wants: [
                {
                    bundleName: "com.example.myapplication",
                    abilityName: "com.example.myapplication.MainAbility"
                }
            ],
            operationType: wantAgent.OperationType.START_ABILITY,
            requestCode: 0,
            wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
        };

        wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
            backgroundTaskManager.startBackgroundRunning(this.context,
                backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj).then(() => {
                console.info("Operation startBackgroundRunning succeeded");
            }).catch((err) => {
                console.error("Operation startBackgroundRunning failed Cause: " + err);
            });
        });
    }
};
Z
zhangxin_T 已提交
328 329
```

修改  
朱天怡 已提交
330
## backgroundTaskManager.stopBackgroundRunning<sup>8+</sup>
Z
zhangxin_T 已提交
331

Z
zhangxin_T 已提交
332
stopBackgroundRunning(context: Context, callback: AsyncCallback&lt;void&gt;): void
Z
zhangxin_T 已提交
333 334 335

向系统申请取消长时任务,使用callback形式返回结果。

Z
zhangxin_T 已提交
336 337
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

Z
zhangxin_T 已提交
338
**参数**
修改  
朱天怡 已提交
339

H
HelloCrease 已提交
340 341 342 343
| 参数名      | 类型                        | 必填   | 说明                                       |
| -------- | ------------------------- | ---- | ---------------------------------------- |
| context  | Context                   | 是    | 应用运行的上下文。<br>FA模型的应用Context定义见[Context](js-apis-Context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 |
| callback | AsyncCallback&lt;void&gt; | 是    | callback形式返回启动长时任务的结果。                   |
Z
zhangxin_T 已提交
344

Z
zhangxin_T 已提交
345
**示例**
Z
zhangxin_T 已提交
346 347 348

FA模型示例:

Z
zhangxin_T 已提交
349
```js
修改  
朱天怡 已提交
350
import backgroundTaskManager from '@ohos.backgroundTaskManager';
Z
zhangxin_T 已提交
351 352
import featureAbility from '@ohos.ability.featureAbility';

修改  
朱天怡 已提交
353 354 355
function callback(err, data) {
    if (err) {
        console.error("Operation stopBackgroundRunning failed Cause: " + err);
Z
zhangxin_T 已提交
356
    } else {
W
wangqing 已提交
357
        console.info("Operation stopBackgroundRunning succeeded");
Z
zhangxin_T 已提交
358 359 360
    }
}

修改  
朱天怡 已提交
361
backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext(), callback);
Z
zhangxin_T 已提交
362 363 364

```

Z
zhangxin_T 已提交
365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385
Stage模型示例:

```ts
import Ability from '@ohos.application.Ability'
import backgroundTaskManager from '@ohos.backgroundTaskManager';

function callback(err, data) {
    if (err) {
        console.error("Operation stopBackgroundRunning failed Cause: " + err);
    } else {
        console.info("Operation stopBackgroundRunning succeeded");
    }
}

export default class MainAbility extends Ability {
    onCreate(want, launchParam) {
        backgroundTaskManager.stopBackgroundRunning(this.context, callback);
    }
};
```

修改  
朱天怡 已提交
386
## backgroundTaskManager.stopBackgroundRunning<sup>8+</sup>
Z
zhangxin_T 已提交
387

Z
zhangxin_T 已提交
388
stopBackgroundRunning(context: Context): Promise&lt;void&gt;
Z
zhangxin_T 已提交
389 390 391

向系统申请取消长时任务,使用promise形式返回结果。

Z
zhangxin_T 已提交
392 393
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

Z
zhangxin_T 已提交
394
**参数**
修改  
朱天怡 已提交
395

H
HelloCrease 已提交
396 397
| 参数名     | 类型      | 必填   | 说明                                       |
| ------- | ------- | ---- | ---------------------------------------- |
Z
zhangxin_T 已提交
398
| context | Context | 是    | 应用运行的上下文。<br>FA模型的应用Context定义见[Context](js-apis-Context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 |
Z
zhangxin_T 已提交
399

400
**返回值**
修改  
朱天怡 已提交
401

H
HelloCrease 已提交
402 403 404
| 类型             | 说明               |
| -------------- | ---------------- |
| Promise\<void> | 使用Promise形式返回结果。 |
Z
zhangxin_T 已提交
405

Z
zhangxin_T 已提交
406
**示例**
Z
zhangxin_T 已提交
407 408 409

FA模型示例:

Z
zhangxin_T 已提交
410
```js
修改  
朱天怡 已提交
411
import backgroundTaskManager from '@ohos.backgroundTaskManager';
Z
zhangxin_T 已提交
412 413
import featureAbility from '@ohos.ability.featureAbility';

修改  
朱天怡 已提交
414 415 416 417 418
backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => {
    console.info("Operation stopBackgroundRunning succeeded");
}).catch((err) => {
    console.error("Operation stopBackgroundRunning failed Cause: " + err);
});
Z
zhangxin_T 已提交
419 420 421

```

Z
zhangxin_T 已提交
422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438
Stage模型示例:

```ts
import Ability from '@ohos.application.Ability'
import backgroundTaskManager from '@ohos.backgroundTaskManager';

export default class MainAbility extends Ability {
    onCreate(want, launchParam) {
        backgroundTaskManager.stopBackgroundRunning(this.context).then(() => {
            console.info("Operation stopBackgroundRunning succeeded");
        }).catch((err) => {
            console.error("Operation stopBackgroundRunning failed Cause: " + err);
        });
    }
};
```

bugfix  
朱天怡 已提交
439
## DelaySuspendInfo
Z
zhangxin_T 已提交
440 441 442

延迟挂起信息。

H
HelloCrease 已提交
443
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask
Z
zhangxin_T 已提交
444

H
HelloCrease 已提交
445 446 447 448
| 参数名             | 类型     | 必填   | 说明                                       |
| --------------- | ------ | ---- | ---------------------------------------- |
| requestId       | number | 是    | 延迟挂起的请求ID。                               |
| actualDelayTime | number | 是    | 应用的实际挂起延迟时间,以毫秒为单位。<br/>一般情况下默认值为180000,低电量(依据系统低电量广播)时默认值为60000。 |
Z
zhangxin_T 已提交
449 450


修改  
朱天怡 已提交
451
## BackgroundMode<sup>8+</sup>
Z
zhangxin_T 已提交
452

H
HelloCrease 已提交
453 454 455 456
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

| 参数名                     | 参数值  | 描述                    |
| ----------------------- | ---- | --------------------- |
457 458 459 460 461 462
| DATA_TRANSFER           | 1    | 数据传输。                  |
| AUDIO_PLAYBACK          | 2    | 音频播放。                  |
| AUDIO_RECORDING         | 3    | 录音。                    |
| LOCATION                | 4    | 定位导航。                  |
| BLUETOOTH_INTERACTION   | 5    | 蓝牙相关。                  |
| MULTI_DEVICE_CONNECTION | 6    | 多设备互联。                 |
H
HelloCrease 已提交
463 464
| WIFI_INTERACTION        | 7    | WLAN相关<br />此接口为系统接口。 |
| VOIP                    | 8    | 音视频通话<br />此接口为系统接口。  |
Z
修改  
zhutianyi 已提交
465
| TASK_KEEPING            | 9    | 计算任务(仅在特定设备生效)。        |