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

Z
zhangxin_T 已提交
41
**返回值**
H
HelloCrease 已提交
42 43 44
| 类型                                    | 说明        |
| ------------------------------------- | --------- |
| [DelaySuspendInfo](#delaysuspendinfo) | 返回延迟挂起信息。 |
廖康康 已提交
45

Z
zhangxin_T 已提交
46
**示例**
W
wangqing 已提交
47

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

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

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


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

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

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

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

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

Z
zhangxin_T 已提交
77
**示例**
W
wangqing 已提交
78

Z
zhangxin_T 已提交
79
  ```js
修改  
朱天怡 已提交
80
  import backgroundTaskManager from '@ohos.backgroundTaskManager';
修改  
朱天怡 已提交
81

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


bugfix  
朱天怡 已提交
93
## backgroundTaskManager.getRemainingDelayTime
廖康康 已提交
94 95 96 97 98

getRemainingDelayTime(requestId: number): Promise<number>

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

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

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

Z
zhangxin_T 已提交
106
**返回值**
H
HelloCrease 已提交
107 108 109
| 类型                    | 说明                                       |
| --------------------- | ---------------------------------------- |
| Promise<number> | 指定的Promise回调方法。返回应用程序进入挂起状态之前的剩余时间,以毫秒为单位。 |
廖康康 已提交
110

Z
zhangxin_T 已提交
111 112
**示例**
  ```js
Z
zhangxin_T 已提交
113 114
  let delayInfo = backgroundTaskManager.requestSuspendDelay("test", () => {});
  backgroundTaskManager.getRemainingDelayTime(delayInfo.requestId).then( res => {
修改  
朱天怡 已提交
115 116 117 118
      console.log('promise => Operation getRemainingDelayTime succeeded. Data: ' + JSON.stringify(res));
  }).catch( err => {
      console.log('promise => Operation getRemainingDelayTime failed. Cause: ' + err.code);
  })
廖康康 已提交
119 120 121
  ```


bugfix  
朱天怡 已提交
122
## backgroundTaskManager.cancelSuspendDelay
廖康康 已提交
123 124 125 126 127

cancelSuspendDelay(requestId: number): void

取消延迟挂起。

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

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

Z
zhangxin_T 已提交
135 136
**示例**
  ```js
Z
zhangxin_T 已提交
137 138
  let delayInfo = backgroundTaskManager.requestSuspendDelay("test", () => {});
  backgroundTaskManager.cancelSuspendDelay(delayInfo.requestId);
廖康康 已提交
139 140 141
  ```


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

Z
zhangxin_T 已提交
144
startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent, callback: AsyncCallback&lt;void&gt;): void
Z
zhangxin_T 已提交
145 146 147

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

Z
zhangxin_T 已提交
148 149
**需要权限:** ohos.permission.KEEP_BACKGROUND_RUNNING

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

Z
zhangxin_T 已提交
152
**参数**
H
HelloCrease 已提交
153 154 155 156 157 158
| 参数名       | 类型                                 | 必填   | 说明                                       |
| --------- | ---------------------------------- | ---- | ---------------------------------------- |
| 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 已提交
159

Z
zhangxin_T 已提交
160
**示例**
Z
zhangxin_T 已提交
161 162 163

FA模型示例:

Z
zhangxin_T 已提交
164
```js
修改  
朱天怡 已提交
165
import backgroundTaskManager from '@ohos.backgroundTaskManager';
Z
zhangxin_T 已提交
166 167 168
import featureAbility from '@ohos.ability.featureAbility';
import wantAgent from '@ohos.wantAgent';

修改  
朱天怡 已提交
169 170 171
function callback(err, data) {
    if (err) {
        console.error("Operation startBackgroundRunning failed Cause: " + err);
Z
zhangxin_T 已提交
172
    } else {
W
wangqing 已提交
173
        console.info("Operation startBackgroundRunning succeeded");
Z
zhangxin_T 已提交
174 175 176 177 178 179 180 181 182 183 184 185
    }
}

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

wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
修改  
朱天怡 已提交
190
    backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
Z
zhangxin_T 已提交
191
        backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj, callback)
Z
zhangxin_T 已提交
192 193 194 195
});

```

Z
zhangxin_T 已提交
196 197 198 199 200 201 202 203 204 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
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)
        });
    }
};
```

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

Z
zhangxin_T 已提交
235
startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent): Promise&lt;void&gt;
Z
zhangxin_T 已提交
236 237 238

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

Z
zhangxin_T 已提交
239 240
**需要权限:** ohos.permission.KEEP_BACKGROUND_RUNNING

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

Z
zhangxin_T 已提交
243
**参数**
W
wangqing 已提交
244

H
HelloCrease 已提交
245 246 247 248 249
| 参数名       | 类型                                 | 必填   | 说明                                       |
| --------- | ---------------------------------- | ---- | ---------------------------------------- |
| 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 已提交
250

251
**返回值**
H
HelloCrease 已提交
252 253 254
| 类型             | 说明               |
| -------------- | ---------------- |
| Promise\<void> | 使用Promise形式返回结果。 |
Z
zhangxin_T 已提交
255

Z
zhangxin_T 已提交
256
**示例**
Z
zhangxin_T 已提交
257 258 259

FA模型示例:

Z
zhangxin_T 已提交
260
```js
修改  
朱天怡 已提交
261
import backgroundTaskManager from '@ohos.backgroundTaskManager';
Z
zhangxin_T 已提交
262 263 264 265 266 267 268 269 270 271 272 273
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 已提交
274
    wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
Z
zhangxin_T 已提交
275 276 277
};

wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
修改  
朱天怡 已提交
278
    backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
Z
zhangxin_T 已提交
279
        backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj).then(() => {
修改  
朱天怡 已提交
280 281 282 283
        console.info("Operation startBackgroundRunning succeeded");
    }).catch((err) => {
        console.error("Operation startBackgroundRunning failed Cause: " + err);
    });
Z
zhangxin_T 已提交
284
});
Z
zhangxin_T 已提交
285 286 287 288 289 290 291 292
```

Stage模型示例:

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

Z
zhangxin_T 已提交
294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317
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 已提交
318 319
```

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

Z
zhangxin_T 已提交
322
stopBackgroundRunning(context: Context, callback: AsyncCallback&lt;void&gt;): void
Z
zhangxin_T 已提交
323 324 325

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

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

Z
zhangxin_T 已提交
328
**参数**
H
HelloCrease 已提交
329 330 331 332
| 参数名      | 类型                        | 必填   | 说明                                       |
| -------- | ------------------------- | ---- | ---------------------------------------- |
| 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 已提交
333

Z
zhangxin_T 已提交
334
**示例**
Z
zhangxin_T 已提交
335 336 337

FA模型示例:

Z
zhangxin_T 已提交
338
```js
修改  
朱天怡 已提交
339
import backgroundTaskManager from '@ohos.backgroundTaskManager';
Z
zhangxin_T 已提交
340 341
import featureAbility from '@ohos.ability.featureAbility';

修改  
朱天怡 已提交
342 343 344
function callback(err, data) {
    if (err) {
        console.error("Operation stopBackgroundRunning failed Cause: " + err);
Z
zhangxin_T 已提交
345
    } else {
W
wangqing 已提交
346
        console.info("Operation stopBackgroundRunning succeeded");
Z
zhangxin_T 已提交
347 348 349
    }
}

修改  
朱天怡 已提交
350
backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext(), callback);
Z
zhangxin_T 已提交
351 352 353

```

Z
zhangxin_T 已提交
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374
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);
    }
};
```

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

Z
zhangxin_T 已提交
377
stopBackgroundRunning(context: Context): Promise&lt;void&gt;
Z
zhangxin_T 已提交
378 379 380

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

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

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

388
**返回值**
H
HelloCrease 已提交
389 390 391
| 类型             | 说明               |
| -------------- | ---------------- |
| Promise\<void> | 使用Promise形式返回结果。 |
Z
zhangxin_T 已提交
392

Z
zhangxin_T 已提交
393
**示例**
Z
zhangxin_T 已提交
394 395 396

FA模型示例:

Z
zhangxin_T 已提交
397
```js
修改  
朱天怡 已提交
398
import backgroundTaskManager from '@ohos.backgroundTaskManager';
Z
zhangxin_T 已提交
399 400
import featureAbility from '@ohos.ability.featureAbility';

修改  
朱天怡 已提交
401 402 403 404 405
backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => {
    console.info("Operation stopBackgroundRunning succeeded");
}).catch((err) => {
    console.error("Operation stopBackgroundRunning failed Cause: " + err);
});
Z
zhangxin_T 已提交
406 407 408

```

Z
zhangxin_T 已提交
409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425
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  
朱天怡 已提交
426
## DelaySuspendInfo
Z
zhangxin_T 已提交
427 428 429

延迟挂起信息。

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

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


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

H
HelloCrease 已提交
440 441 442 443
**系统能力:** SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask

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