Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
acdc068c
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看板
未验证
提交
acdc068c
编写于
10月 25, 2022
作者:
朱
朱天怡
提交者:
Gitee
10月 25, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bugfix
Signed-off-by:
N
朱天怡
<
zhutianyi2@huawei.com
>
上级
eb38fb50
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
34 addition
and
39 deletion
+34
-39
zh-cn/application-dev/task-management/continuous-task-dev-guide.md
...lication-dev/task-management/continuous-task-dev-guide.md
+10
-14
zh-cn/application-dev/task-management/transient-task-dev-guide.md
...plication-dev/task-management/transient-task-dev-guide.md
+4
-4
zh-cn/application-dev/task-management/work-scheduler-dev-guide.md
...plication-dev/task-management/work-scheduler-dev-guide.md
+20
-21
未找到文件。
zh-cn/application-dev/task-management/continuous-task-dev-guide.md
浏览文件 @
acdc068c
#
#
长时任务
# 长时任务
##
#
场景说明
## 场景说明
如果应用需要在后台长时间执行用户可感知的任务,如后台播放音乐、导航、设备连接、VoIP等,则使用长时任务避免进入挂起(Suspend)状态。
长时任务在后台执行没有时间限制。为了避免该机制被滥用,系统只允许申请有限个数的长时任务类型,同时会有相应的通知提示与长时任务相关联,使用户可感知,并且系统会添加相应的校验机制,确保应用是的确在执行相应的长时任务。
##
# 权限
##
接口说明
ohos.permission.KEEP_BACKGROUND_RUNNING
### 接口说明
**表2**
长时任务主要接口
**表1**
长时任务主要接口
| 接口名 | 描述 |
| ---------------------------------------- | ---------------------------- |
...
...
@@ -21,7 +17,7 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
其中,wantAgent的信息详见(
[
WantAgent
](
../reference/apis/js-apis-wantAgent.md
)
)
**表
3
**
后台模式类型
**表
2
**
后台模式类型
| 参数名 | id值 | 描述 | 配置项 |
| ----------------------- | ---- | -------------- | --------------------- |
...
...
@@ -36,9 +32,9 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
| TASK_KEEPING | 9 | 计算任务(仅供特定设备使用) | taskKeeping |
##
#
开发步骤
## 开发步骤
基于FA模型:
### 基于FA模型
基于FA的Service Ability使用,参考
[
ServiceAbility开发指导
](
../ability/fa-serviceability.md
)
。
...
...
@@ -46,7 +42,7 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
当需要与后台执行的长时任务交互时(如播放音乐等)。可以采用connectAbility()方法启动并连接Service Ability。在获取到服务的代理对象后,与服务进行通信,控制长时任务的申请和取消。
1、新建Api Version 8的工程后,在工程目录中右键选择“new” -> “Ability” -> “Service Ability” 快速创建Service Ability组件。并在config.json文件中配置长时任务权限、后台模式类型,其中Ability类型为“service”。
1、新建Api Version 8的工程后,在工程目录中右键选择“new” -> “Ability” -> “Service Ability” 快速创建Service Ability组件。并在config.json文件中配置长时任务权限
ohos.permission.KEEP_BACKGROUND_RUNNING
、后台模式类型,其中Ability类型为“service”。
```
"module": {
...
...
@@ -181,11 +177,11 @@ export default {
};
```
基于Stage模型:
### 基于Stage模型
Stage模型的相关信息参考
[
Stage模型综述
](
../ability/stage-brief.md
)
。
1、新建Api Version 9的工程后,在工程目录中右键选择“New” -> “Ability” 快速创建Ability组件。并在module.json5文件中配置长时任务权限、后台模式类型。
1、新建Api Version 9的工程后,在工程目录中右键选择“New” -> “Ability” 快速创建Ability组件。并在module.json5文件中配置长时任务权限
ohos.permission.KEEP_BACKGROUND_RUNNING
、后台模式类型。
```
"module": {
...
...
zh-cn/application-dev/task-management/transient-task-dev-guide.md
浏览文件 @
acdc068c
#
#
短时任务
# 短时任务
##
#
场景说明
## 场景说明
当应用退到后台默认有6到12秒的运行时长,超过该时间后,系统会将应用置为挂起状态。对于绝大多数应用,6到12秒的时间,足够执行一些重要的任务,但如果应用需要更多的时间,可以通过短时任务接口,扩展应用的执行时间。
建议不要等到应用退后台后,才调用requestSuspendDelay方法申请延迟挂起,而是应该在执行任何的耗时操作前,都应该调用该接口,向系统申明扩展应用的执行时间。
...
...
@@ -11,7 +11,7 @@
一些典型的耗时任务有,需要保存一些状态数据到本地数据库,需要打开和处理一个大型文件,需要同步一些数据到应用的云端服务器等。
##
#
接口说明
## 接口说明
**表1**
短时任务主要接口
...
...
@@ -23,7 +23,7 @@
| cancelSuspendDelay(requestId:
number):
void | 取消延迟挂起。 |
##
#
开发步骤
## 开发步骤
1、当应用需要开始执行一个耗时的任务时。调用短时任务申请接口,并且在任务执行完后,调用短时任务取消接口。
...
...
zh-cn/application-dev/task-management/work-scheduler-dev-guide.md
浏览文件 @
acdc068c
...
...
@@ -5,22 +5,9 @@
应用要执行对实时性要求不高的任务或持久性任务的时候,比如设备空闲时候做一次数据学习等场景,可以使用延迟调度任务,该机制在满足应用设定条件的时候,会根据系统当前状态,如内存、功耗、温度等统一决策调度时间。延迟任务调度约束见
[
延迟任务调度约束
](
./background-task-overview.md#延迟任务调度约束
)
。
## 接口说明
注册相关接口包导入:
```
js
import
workScheduler
from
'
@ohos.resourceschedule.workScheduler
'
;
```
回调相关接口包导入:
```
js
import
WorkSchedulerExtensionAbility
from
'
@ohos.WorkSchedulerExtensionAbility
'
;
```
### 延迟任务调度
**表1**
workScheduler主要接口
> **说明:** 延迟任务调度错误码见[workScheduler错误码](../../api/errorcodes/errorcode-workScheduler.md)。
接口名 | 接口描述
---------------------------------------------------------|-----------------------------------------
startWork(work: WorkInfo): void; | 延迟调度任务申请
...
...
@@ -35,7 +22,7 @@ isLastWorkTimeOut(workId: number): Promise\<boolean>;| 获取上次任务是否
**表2**
WorkInfo包含参数
> **说明:**
WorkInfo设置参数约束见[延迟任务调度约束](./background-task-overview.md#延迟任务调度约束)
WorkInfo设置参数约束见
[
延迟任务调度约束
](
./background-task-overview.md#延迟任务调度约束
)
参数名| 类型 |描述
---------------------------------------------------------|-----------------------------------------|---------------------------------------------------------
...
...
@@ -62,7 +49,19 @@ onWorkStop(work: WorkInfo): void | 延迟调度任务结束回调
### 开发步骤
1、开发对应的ExtensionAbility,用于回调执行具体的延迟任务。关于ExtensionAbility的介绍,参考
[
ExtensionAbility机制
](
../ability/stage-brief.md#extensionability机制
)
。
1、导入模块。
注册相关接口包导入:
```
js
import
workScheduler
from
'
@ohos.resourceschedule.workScheduler
'
;
```
回调相关接口包导入:
```
js
import
WorkSchedulerExtensionAbility
from
'
@ohos.WorkSchedulerExtensionAbility
'
;
```
2、开发对应的ExtensionAbility,用于回调执行具体的延迟任务。关于ExtensionAbility的介绍,参考
[
ExtensionAbility机制
](
../ability/stage-brief.md#extensionability机制
)
。
```
ts
import
WorkSchedulerExtensionAbility
from
'
@ohos.WorkSchedulerExtensionAbility
'
;
...
...
@@ -78,7 +77,7 @@ export default class MyExtension extends WorkSchedulerExtensionAbility {
```
2
、注册延迟任务
3
、注册延迟任务
```
ts
import
workScheduler
from
'
@ohos.resourceschedule.workScheduler
'
;
...
...
@@ -106,7 +105,7 @@ try{
```
3
、取消延迟任务
4
、取消延迟任务
```
ts
import
workScheduler
from
'
@ohos.resourceschedule.workScheduler
'
;
...
...
@@ -134,7 +133,7 @@ try{
```
4
、获取指定延迟任务
5
、获取指定延迟任务
```
ts
try
{
...
...
@@ -153,7 +152,7 @@ try{
```
5
、获取所有延迟任务
6
、获取所有延迟任务
```
ts
try
{
...
...
@@ -169,7 +168,7 @@ try{
}
```
6
、停止并清除任务
7
、停止并清除任务
```
ts
try
{
...
...
@@ -180,7 +179,7 @@ try{
}
```
7
、判断上次执行是否超时
8
、判断上次执行是否超时
```
ts
try
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录