Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
d98f3762
D
Docs
项目概览
OpenHarmony
/
Docs
12 个月 前同步成功
通知
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d98f3762
编写于
4月 21, 2022
作者:
W
wangqing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
描述修改
Signed-off-by:
N
wangqing
<
wangqing136@huawei.com
>
上级
c3f99adf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
25 deletion
+15
-25
zh-cn/application-dev/background-task-management/background-task-dev-guide.md
...v/background-task-management/background-task-dev-guide.md
+15
-25
未找到文件。
zh-cn/application-dev/background-task-management/background-task-dev-guide.md
浏览文件 @
d98f3762
...
...
@@ -4,32 +4,20 @@
应用或业务模块处于后台(无可见界面)时,如果有需要继续执行或者后续执行的业务,可基于业务类型,申请短时任务延迟挂起(Suspend)或者长时任务避免进入挂起状态。
## 接口说明
```
js
import
backgroundTaskManager
from
'
@ohos.backgroundTaskManager
'
;
```
## 短时任务
### 接口说明
**表1**
短时任务主要接口
| 接口名 | 描述 |
| -------- | -------- |
| function
requestSuspendDelay(reason:
string,
callback:
Callback
<
void
>
):
**DelaySuspendInfo**; | 后台应用申请延迟挂起。
<br/>
延迟挂起时间一般情况下默认值为180000,低电量(依据系统低电量广播)时默认值为60000。 |
| function
getRemainingDelayTime(requestId:
number,
callback:
AsyncCallback
<
number
>
):
void;
<br/>
function
getRemainingDelayTime(requestId:
number):
Promise
<
number
>
; | 获取应用程序进入挂起状态前的剩余时间。(requestId从requestSuspendDelay的返回值获取)
<br/>
提供两种异步方法,使用Callback形式其任务执行结果以参数形式提供给回调函数,Promise形式则返回一个Promise对象。 |
| function
cancelSuspendDelay(requestId:
number):
void; | 取消延迟挂起。(requestId从requestSuspendDelay的返回值获取) |
**表2**
DelaySuspendInfo包含参数
| requestSuspendDelay(reason:
string,
callback:
Callback
<
void
>
):
[**DelaySuspendInfo**](../reference/apis/js-apis-backgroundTaskManager.md#delaysuspendinfo); | 后台应用申请延迟挂起。
<br/>
延迟挂起时间一般情况下默认值为180000,低电量(依据系统低电量广播)时默认值为60000。 |
| getRemainingDelayTime(requestId:
number):
Promise
<
number
>
| 获取应用程序进入挂起状态前的剩余时间。(requestId从requestSuspendDelay的返回值获取)
<br/>
其任务执行结果以Promise形式则返回给应用。 |
| cancelSuspendDelay(requestId:
number):
void; | 取消延迟挂起。(requestId从requestSuspendDelay的返回值获取) |
| 参数名 | 类型 | 是否必选 | 描述 |
| -------- | -------- | -------- | -------- |
| requestId | number | 是 | 延迟挂起的请求ID。 |
| actualDelayTime | number | 是 | 应用的实际挂起延迟时间,以毫秒为单位。 |
## 开发步骤
### 开发步骤
1.
申请延迟挂起
...
...
@@ -65,7 +53,7 @@ import backgroundTaskManager from '@ohos.backgroundTaskManager';
```
## 开发实例
##
#
开发实例
```
js
import
backgroundTaskManager
from
'
@ohos.backgroundTaskManager
'
;
...
...
@@ -99,17 +87,19 @@ backgroundTaskManager.cancelSuspendDelay(id);
ohos.permission.KEEP_BACKGROUND_RUNNING
**表3**
长时任务主要接口
### 接口说明
**表2**
长时任务主要接口
| 接口名 | 描述 |
| -------- | -------- |
|
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
>
; | 停止后台长时任务的运行 |
|
startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent): Promise
<
void
>
;
| 服务启动后,向系统申请长时任务,使服务一直保持后台运行 |
| function stopBackgroundRunning(context: Context
): Promise
<
void
>
;
| 停止后台长时任务的运行 |
其中,wantAgent的信息详见(
[
WantAgent
](
../reference/apis/js-apis-wantAgent.md
)
)
**表
4
**
后台模式类型
**表
3
**
后台模式类型
| 参数名 | id值 | 描述 | 配置项 |
| -------- | -------- | -------- | -------- |
...
...
@@ -124,7 +114,7 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
| TASK_KEEPING | 9 | 计算任务(仅供特定设备使用) | taskKeeping |
## 开发步骤
##
#
开发步骤
1.
在config.json文件中配置长时任务权限和后台模式类型,其中ability类型为service。
...
...
@@ -201,7 +191,7 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
```
## 开发实例
##
#
开发实例
当服务启动后,在serviceAbility的onStart回调方法中,调用长时任务的申请接口,声明此服务需要在后台长时运行。在onStop回调方法里,调用长时任务取消接口,声明取消长时任务。
在service.js文件中:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录