Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
365ce9e7
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
365ce9e7
编写于
3年前
作者:
Z
zhangxin_T
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bugfix
Signed-off-by:
N
zhangxin_T
<
zhangxin312@huawei.com
>
上级
ba6947ca
master
E0523
OpenHarmony-3.1-API8-SDK-Public
OpenHarmony-3.1-API9-SDK-Canary
OpenHarmony-3.1-Release
OpenHarmony-3.2-Beta1
OpenHarmony-3.2-Beta2
OpenHarmony-3.2-Beta3
OpenHarmony-3.2-Beta4
OpenHarmony-3.2-Beta5
OpenHarmony-3.2-Release
OpenHarmony-4.0-Beta1
OpenHarmony-4.0-Beta2
OpenHarmony_filemanager_develop_20220505
OpenHarmony_filemanager_develop_20220614
TR4270
bak_OpenHarmony-4.0-Beta1_20230529
docs-modify
feature_IDL_20220811
master_0308_1
monthly_20220614
monthly_20220816
monthly_20221018
monthly_20230815
revert-merge-17651-master
revert-merge-19334-OpenHarmony-4.0-Beta1
revert-merge-19586-master
revert-merge-20613-master
revert-merge-2140-master
revert-merge-21757-OpenHarmony-4.0-Beta2
revert-merge-21765-OpenHarmony-4.0-Beta2
revert-merge-23766-master
revert-merge-5580-master
update_master_0323
weekly_20220215
weekly_20220222
weekly_20220301
weekly_20220406
weekly_20220412
weekly_20220419
weekly_20220426
weekly_20220503
weekly_20220510
weekly_20220524
weekly_20220531
weekly_20220607
weekly_20220614
weekly_20220621
weekly_20220628
weekly_20220705
weekly_20220712
weekly_20220719
weekly_20220726
weekly_20220802
weekly_20220809
weekly_20220816
weekly_20220823
weekly_20220830
weekly_20220906
weekly_20220913
weekly_20220920
weekly_20220927
weekly_20221004
weekly_20221011
weekly_20221018
weekly_20221025
weekly_20221101
weekly_20221108
weekly_20221115
weekly_20221122
weekly_20221129
weekly_20221206
weekly_20221213
weekly_20221220
weekly_20221227
weekly_20230103
weekly_20230110
weekly_20230117
weekly_20230124
weekly_20230131
weekly_20230207
weekly_20230214
weekly_20230221
weekly_20230228
weekly_20230307
weekly_20230314
weekly_20230321
weekly_20230328
weekly_20230404
weekly_20230411
weekly_20230418
weekly_20230425
weekly_20230502
weekly_20230509
weekly_20230516
weekly_20230523
weekly_20230530
weekly_20230606
weekly_20230613
weekly_20230619
weekly_20230626
weekly_20230627
weekly_20230704
weekly_20230712
weekly_20230725
weekly_20230801
weekly_20230808
weekly_20230815
weekly_20230822
weekly_20230829
weekly_20230905
OpenHarmony-v4.0-Beta2
OpenHarmony-v4.0-Beta1
OpenHarmony-v3.2.3-Release
OpenHarmony-v3.2.2-Release
OpenHarmony-v3.2.1-Release
OpenHarmony-v3.2-Release
OpenHarmony-v3.2-Beta5
OpenHarmony-v3.2-Beta4
OpenHarmony-v3.2-Beta3
OpenHarmony-v3.2-Beta2
OpenHarmony-v3.2-Beta1
OpenHarmony-v3.1.7-Release
OpenHarmony-v3.1.6-Release
OpenHarmony-v3.1.5-Release
OpenHarmony-v3.1.4-Release
OpenHarmony-v3.1.3-Release
OpenHarmony-v3.1.2-Release
OpenHarmony-v3.1.1-Release
OpenHarmony-v3.1-Release
无相关合并请求
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
45 addition
and
10 deletion
+45
-10
zh-cn/application-dev/background-task-management/background-task-dev-guide.md
...v/background-task-management/background-task-dev-guide.md
+37
-2
zh-cn/application-dev/background-task-management/background-task-overview.md
...ev/background-task-management/background-task-overview.md
+8
-8
未找到文件。
zh-cn/application-dev/background-task-management/background-task-dev-guide.md
浏览文件 @
365ce9e7
...
...
@@ -33,6 +33,7 @@ import backgroundTaskManager from '@ohos.backgroundTaskManager';
1.
申请延迟挂起
```
js
import
backgroundTaskManager
from
'
@ohos.backgroundTaskManager
'
;
...
...
@@ -46,6 +47,7 @@ var id = delayInfo.requestId;console.info("requestId is: " + id);
2.
获取进入挂起前的剩余时间
```
js
backgroundTaskManager
.
getRemainingDelayTime
(
id
).
then
(
res
=>
{
console
.
log
(
'
promise => Operation succeeded. Data:
'
+
JSON
.
stringify
(
res
));
...
...
@@ -56,6 +58,7 @@ backgroundTaskManager.getRemainingDelayTime(id).then( res => {
3. 取消延迟挂起
```
js
backgroundTaskManager.cancelSuspendDelay(id);
```
...
...
@@ -102,7 +105,8 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
| function startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent, callback: AsyncCallback<void>): void;<br/>function startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent): Promise<void>; | 服务启动后,向系统申请长时任务,使服务一直保持后台运行 |
| function stopBackgroundRunning(context: Context, callback: AsyncCallback<void>): void;<br/>function stopBackgroundRunning(context: Context): Promise<void>; | 停止后台长时任务的运行 |
**表4** 长时任务BackgroundMode参数
**表4** 后台模式类型
| 参数名 | id值 | 描述 |
| -------- | -------- | -------- |
| DATA_TRANSFER | 1 | 数据传输 |
...
...
@@ -118,6 +122,36 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
## 开发步骤
1. 在config.json文件中配置后台模式参数和权限
```
json
"abilities": [
{
"visible": true,
"backgroundModes": [
"dataTransfer",
"audioPlayback"
],
"srcPath": "Service",
"name": ".Service",
"icon": "$media:icon",
"srcLanguage": "js",
"description": "$string:description_service",
"type": "service"
},
],
"defPermissions": [
{
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING"
}
],
"reqPermissions": [
{
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING"
}
]
```
1. 申请长时任务
```
js
...
...
@@ -137,6 +171,7 @@ let wantAgentInfo = {
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESET_FLAG]
};
// 通过wantAgent模块的getWantAgent方法获取WantAgent对象
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
backgroundTaskManager.BackgroundMode.DATA_TRANSFER, wantAgentObj).then(() => {
...
...
@@ -184,7 +219,7 @@ function startBackgroundRunning() {
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESET_FLAG]
};
// 通过getWantAgent方法获取WantAgent对象
// 通过
wantAgent模块的
getWantAgent方法获取WantAgent对象
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
backgroundTaskManager.BackgroundMode.DATA_TRANSFER, wantAgentObj).then(() => {
...
...
This diff is collapsed.
Click to expand it.
zh-cn/application-dev/background-task-management/background-task-overview.md
浏览文件 @
365ce9e7
...
...
@@ -35,7 +35,7 @@
-
**配额机制**
:为了防止应用滥用保活,或者申请后不取消,每个应用每天都会有一定配额(会根据用户的使用习惯动态调整),配额消耗完就不再允许申请短时任务,所以应用完成短时任务后立刻取消延时申请,避免消耗配额。(注,这个配额指的是申请的时长,系统默认应用在后台运行的时间不计算在内)。
## 长时任务
长时任务
类型给用户能直观感受到的且需要一直在后台运行的业务提供后台运行声明周期的保障。比如,业务需要在后台播放声音,或者需要在后台持续导航定位等。此类用户可以
感知到的后台业务行为,可以通过使用长时任务对应的后台模式保障业务在后台的运行,支撑应用完成在后台的业务。
长时任务
给用户能够直观感受到的且需要一直在后台运行的业务提供后台运行生命周期的保障。比如:业务需要在后台播放声音、需要在后台持续导航定位等。此类用户可以直观
感知到的后台业务行为,可以通过使用长时任务对应的后台模式保障业务在后台的运行,支撑应用完成在后台的业务。
### 后台模式分类
OpenHarmony提供了九种后台模式,供需要在后台做长时任务的业务使用,具体的后台模式类型如下:
...
...
@@ -44,15 +44,15 @@ OpenHarmony提供了九种后台模式,供需要在后台做长时任务的业
| BackgroundMode | 说明 | 通知栏显示提示 | 备注 |
| -------- | -------- | -------- | -------- |
| dataTransfer | 通过网络/对端设备进行数据下载、备份、分享、传输等
业务
| 正在运行数据传输任务 | |
| audioPlayback | 音频输出
业务
| 正在运行音频播放任务 | |
| audioRecording | 音频输入
业务
| 正在运行录音任务 | |
| dataTransfer | 通过网络/对端设备进行数据下载、备份、分享、传输等 | 正在运行数据传输任务 | |
| audioPlayback | 音频输出 | 正在运行音频播放任务 | |
| audioRecording | 音频输入 | 正在运行录音任务 | |
| location | 定位、导航 | 正在运行定位任务 | |
| bluetoothInteraction | 蓝牙传输
业务
| 正在运行蓝牙相关任务 | |
| bluetoothInteraction | 蓝牙传输 | 正在运行蓝牙相关任务 | |
| multiDeviceConnection | 分布式互联任务 | 正在运行分布式任务 | |
| wifiInteraction | WLAN传输
业务
| 正在运行WLAN相关任务 | SystemApi,仅对System权限应用开放 |
| voip | 音视频电话、VOIP
业务
| 正在运行通话相关任务 | SystemApi,仅对System权限应用开放 |
| taskKeeping | 计算
业
务 | 正在运行计算任务 | PC特有,仅在PC申请生效 |
| wifiInteraction | WLAN传输 | 正在运行WLAN相关任务 | SystemApi,仅对System权限应用开放 |
| voip | 音视频电话、VOIP | 正在运行通话相关任务 | SystemApi,仅对System权限应用开放 |
| taskKeeping | 计算
任
务 | 正在运行计算任务 | PC特有,仅在PC申请生效 |
### 长时任务使用约束
-
如果用户选择可感知业务(如播音、导航、上传下载等),触发对应后台模式,在任务启动时,系统会强制弹出通知提醒用户。
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部