提交 1808ac8d 编写于 作者: H HelloCrease

update docs

Signed-off-by: NHelloCrease <lian15@huawei.com>
上级 00968439
# 后台任务管理
- [后台任务概述](background-task-overview.md)
- [后台任务开发指导](background-task-dev-guide.md)
\ No newline at end of file
...@@ -23,9 +23,9 @@ matchMediaSync(condition: string): MediaQueryListener ...@@ -23,9 +23,9 @@ matchMediaSync(condition: string): MediaQueryListener
设置媒体查询的查询条件,并返回对应的监听句柄。 设置媒体查询的查询条件,并返回对应的监听句柄。
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | ---------- | | --------- | ------ | ---- | ---------------------------------------- |
| condition | string | 是 | 媒体事件的匹配条件。 | | condition | string | 是 | 媒体事件的匹配条件,具体可参考[媒体查询语法规则](/ui/ui-ts-layout-mediaquery.md#媒体查询条件语法规则)。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
......
# Search # Search
> ![](public_sys-resources/icon-note.gif) **说明:** 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 > ![](public_sys-resources/icon-note.gif) **说明:**
>
> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
提供搜索框组件,用于提供用户搜索内容的输入区域。 提供搜索框组件,用于提供用户搜索内容的输入区域。
...@@ -18,51 +20,51 @@ Search(options?: { value?: string; placeholder?: string; icon?: string; controll ...@@ -18,51 +20,51 @@ Search(options?: { value?: string; placeholder?: string; icon?: string; controll
- 参数 - 参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| -------- | -------- | -------- | -------- | -------- | | ----------- | ---------------- | ---- | ---- | ---------------------------------------- |
| value | string | 否 | - | 搜索文本值。 | | value | string | 否 | - | 搜索文本值。 |
| placeholder | string | 否 | - | 无输入时的提示文本。| | placeholder | string | 否 | - | 无输入时的提示文本。 |
| icon | string | 否 | - | 搜索图标路径,默认使用系统搜索图标,支持的图标格式: svg, jpg和png。 | | icon | string | 否 | - | 搜索图标路径,默认使用系统搜索图标,支持的图标格式: svg, jpg和png。 |
| controller | SearchController | 否 | - | 控制器。| | controller | SearchController | 否 | - | 控制器。 |
## 属性 ## 属性
| 名称 | 参数类型 | 默认值 | 描述 | | 名称 | 参数类型 | 默认值 | 描述 |
| -------- | -------- | -------- | -------- | | ---------------- | ------------------------------------- | ---- | --------------------- |
| searchButton | string | 无 | 搜索框末尾搜索按钮文本值,默认无搜索按钮。| | searchButton | string | 无 | 搜索框末尾搜索按钮文本值,默认无搜索按钮。 |
| placeholderColor | [ResourceColor](../../ui/ts-types.md) | - | 设置placeholder颜色。| | placeholderColor | [ResourceColor](../../ui/ts-types.md) | - | 设置placeholder颜色。 |
| placeholderFont | [Font](../../ui/ts-types.md) | - | 设置placeholder文本样式。| | placeholderFont | [Font](../../ui/ts-types.md) | - | 设置placeholder文本样式。 |
| textFont | [Font](../../ui/ts-types.md) | - | 设置搜索框内文本样式。| | textFont | [Font](../../ui/ts-types.md) | - | 设置搜索框内文本样式。 |
## 事件 ## 事件
| 名称 | 功能描述 | | 名称 | 功能描述 |
| -------- | -------- | | ---------------------------------------- | ---------------------------------------- |
| onSubmit(callback: (value: string) => void) | 点击搜索图标、搜索按钮或者按下软键盘搜索按钮时触发。<br> -value: 当前输入文本框的内容。| | onSubmit(callback: (value: string) => void) | 点击搜索图标、搜索按钮或者按下软键盘搜索按钮时触发。<br> -value: 当前输入文本框的内容。 |
| onChange(callback: (value: string) => void) | 输入内容发生变化时,触发回调。<br> -value: 当前输入文本框的内容。| | onChange(callback: (value: string) => void) | 输入内容发生变化时,触发回调。<br> -value: 当前输入文本框的内容。 |
| onCopy(callback: (value: string) => void) | 组件触发系统剪切板复制操作。<br> -value: 复制的文本内容。| | onCopy(callback: (value: string) => void) | 组件触发系统剪切板复制操作。<br> -value: 复制的文本内容。 |
| onCut(callback: (value: string) => void) | 组件触发系统剪切板剪切操作。<br> -value: 剪切的文本内容。| | onCut(callback: (value: string) => void) | 组件触发系统剪切板剪切操作。<br> -value: 剪切的文本内容。 |
| onPaste(callback: (value: string) => void) | 组件触发系统剪切板粘贴操作。<br> -value: 粘贴的文本内容。| | onPaste(callback: (value: string) => void) | 组件触发系统剪切板粘贴操作。<br> -value: 粘贴的文本内容。 |
## SearchController ## SearchController
Search组件的控制器,通过它操作Search组件。 Search组件的控制器,通过它操作Search组件。
#### 导入对象 ### 导入对象
``` ```
controller: SearchController = new SearchController() controller: SearchController = new SearchController()
``` ```
#### caretPosition ### caretPosition
creatPosition(value: number): viod caretPosition(value: number): viod
设置输入光标的位置。 设置输入光标的位置。
- 参数 - 参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ---- | ------ | ---- | ---- | --------------------- | | ----- | ------ | ---- | ---- | ----------------- |
| value | number | 是 | - | 从字符串开始到光标所在位置的长度。 | | value | number | 是 | - | 从字符串开始到光标所在位置的长度。 |
......
...@@ -84,12 +84,12 @@ controller: TextInputController = new TextInputController() ...@@ -84,12 +84,12 @@ controller: TextInputController = new TextInputController()
caretPosition(value:&nbsp;number): void caretPosition(value:&nbsp;number): void
设置光标移动到指定位置。 设置输入光标的位置。
- 参数 - 参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ----- | ------ | ---- | ---- | ---------------------------------------- | | ----- | ------ | ---- | ---- | ------------------- |
| value | number | 是 | - | 设置输入光标的位置。<br/>value:从字符串开始到光标所在位置的字符长度。 | | value | number | 是 | - | 从字符串开始到光标所在位置的字符长度。 |
## 示例 ## 示例
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
"abilities":[ "abilities":[
{ {
... ...
"permissions": ["ohos.permission.INTERNET], "permissions": ["ohos.permission.INTERNET"],
... ...
} }
] ]
...@@ -30,47 +30,47 @@ ...@@ -30,47 +30,47 @@
Video(value: VideoOptions) Video(value: VideoOptions)
- VideoOptions类型接口说明 - VideoOptions类型接口说明
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| -------- | -------- | -------- | -------- | -------- | | ------------------- | ---------------------------------------- | ---- | ---------------------------------------- | ---------------------------------------- |
| src | string \| [Resource](../../ui/ts-types.md) | 否 | - | 视频播放源的路径,支持本地视频路径和网络路径。<br>支持在resources下面的video或rawfile文件夹里放置媒体资源。<br>支持dataability://的路径前缀,用于访问通过Data Ability提供的视频路径,具体路径信息详见[Data Ability说明](../../ability/fa-dataability.md)。 | | src | string \| [Resource](../../ui/ts-types.md) | 否 | - | 视频播放源的路径,支持本地视频路径和网络路径。<br>支持在resources下面的video或rawfile文件夹里放置媒体资源。<br>支持dataability://的路径前缀,用于访问通过Data Ability提供的视频路径,具体路径信息详见[Data Ability说明](../../ability/fa-dataability.md)。 |
| currentProgressRate | number&nbsp;\|&nbsp;PlaybackSpeed<sup>8+</sup> | 否 | 1.0&nbsp;\|&nbsp;PlaybackSpeed.<br>Speed_Forward_1_00_X | 视频播放倍速。<br/>>&nbsp;![icon-note.gif](public_sys-resources/icon-note.gif)&nbsp;**说明:**<br/>>&nbsp;number取值仅支持:0.75,1.0,1.25,1.75,2.0。<br/> | | currentProgressRate | number&nbsp;\|&nbsp;PlaybackSpeed<sup>8+</sup> | 否 | 1.0&nbsp;\|&nbsp;PlaybackSpeed.<br>Speed_Forward_1_00_X | 视频播放倍速。<br/>>&nbsp;![icon-note.gif](public_sys-resources/icon-note.gif)&nbsp;**说明:**<br/>>&nbsp;number取值仅支持:0.75,1.0,1.25,1.75,2.0。<br/> |
| previewUri | string&nbsp;\|&nbsp;PixelMap<sup>8+</sup>&nbsp;\|&nbsp;[Resource](../../ui/ts-types.md) | 否 | - | 预览图片的路径。 | | previewUri | string&nbsp;\|&nbsp;PixelMap<sup>8+</sup>&nbsp;\|&nbsp;[Resource](../../ui/ts-types.md) | 否 | - | 预览图片的路径。 |
| controller | [VideoController](#videocontroller) | 否 | - | 控制器。 | | controller | [VideoController](#videocontroller) | 否 | - | 控制器。 |
- PlaybackSpeed<sup>8+</sup>类型接口说明 - PlaybackSpeed<sup>8+</sup>类型接口说明
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------------------- | --------- |
| Speed_Forward_0_75_X | 0.75倍速播放。 | | Speed_Forward_0_75_X | 0.75倍速播放。 |
| Speed_Forward_1_00_X | 1倍速播放。 | | Speed_Forward_1_00_X | 1倍速播放。 |
| Speed_Forward_1_25_X | 1.25倍速播放。 | | Speed_Forward_1_25_X | 1.25倍速播放。 |
| Speed_Forward_1_75_X | 1.75倍速播放。 | | Speed_Forward_1_75_X | 1.75倍速播放。 |
| Speed_Forward_2_00_X | 2倍速播放。 | | Speed_Forward_2_00_X | 2倍速播放。 |
## 属性 ## 属性
| 名称 | 参数类型 | 默认值 | 描述 | | 名称 | 参数类型 | 默认值 | 描述 |
| -------- | -------- | -------- | -------- | | --------- | ---------------------------------------- | ----- | --------------- |
| muted | boolean | false | 是否静音。 | | muted | boolean | false | 是否静音。 |
| autoPlay | boolean | false | 是否自动播放。 | | autoPlay | boolean | false | 是否自动播放。 |
| controls | boolean | true | 控制视频播放的控制栏是否显示。 | | controls | boolean | true | 控制视频播放的控制栏是否显示。 |
| objectFit | [ImageFit](ts-basic-components-image.md) | Cover | 设置视频显示模式。 | | objectFit | [ImageFit](ts-basic-components-image.md) | Cover | 设置视频显示模式。 |
| loop | boolean | false | 是否单个视频循环播放。 | | loop | boolean | false | 是否单个视频循环播放。 |
## 事件 ## 事件
| 名称 | 功能描述 | | 名称 | 功能描述 |
| -------- | -------- | | ---------------------------------------- | ---------------------------------------- |
| onStart()&nbsp;=&gt;&nbsp;void | 播放时触发该事件。 | | onStart()&nbsp;=&gt;&nbsp;void | 播放时触发该事件。 |
| onPause()&nbsp;=&gt;&nbsp;void | 暂停时触发该事件。 | | onPause()&nbsp;=&gt;&nbsp;void | 暂停时触发该事件。 |
| onFinish()&nbsp;=&gt;&nbsp;void | 播放结束时触发该事件。 | | onFinish()&nbsp;=&gt;&nbsp;void | 播放结束时触发该事件。 |
| onError()&nbsp;=&gt;&nbsp;void | 播放失败时触发该事件。 | | onError()&nbsp;=&gt;&nbsp;void | 播放失败时触发该事件。 |
| onPrepared(event?:&nbsp;{&nbsp;duration:&nbsp;number&nbsp;})&nbsp;=&gt;&nbsp;void | 视频准备完成时触发该事件,通过duration可以获取视频时长,单位为秒(s)。 | | onPrepared(event?:&nbsp;{&nbsp;duration:&nbsp;number&nbsp;})&nbsp;=&gt;&nbsp;void | 视频准备完成时触发该事件,通过duration可以获取视频时长,单位为秒(s)。 |
| onSeeking(event?:&nbsp;{&nbsp;time:&nbsp;number&nbsp;})&nbsp;=&gt;&nbsp;void | 操作进度条过程时上报时间信息,单位为s。 | | onSeeking(event?:&nbsp;{&nbsp;time:&nbsp;number&nbsp;})&nbsp;=&gt;&nbsp;void | 操作进度条过程时上报时间信息,单位为s。 |
| onSeeked(event?:&nbsp;{&nbsp;time:&nbsp;number&nbsp;})&nbsp;=&gt;&nbsp;void | 操作进度条完成后,上报播放时间信息,单位为s。 | | onSeeked(event?:&nbsp;{&nbsp;time:&nbsp;number&nbsp;})&nbsp;=&gt;&nbsp;void | 操作进度条完成后,上报播放时间信息,单位为s。 |
| onUpdate(event?:&nbsp;{&nbsp;time:&nbsp;number&nbsp;})&nbsp;=&gt;&nbsp;void | 播放进度变化时触发该事件,单位为s,更新时间间隔为250ms。 | | onUpdate(event?:&nbsp;{&nbsp;time:&nbsp;number&nbsp;})&nbsp;=&gt;&nbsp;void | 播放进度变化时触发该事件,单位为s,更新时间间隔为250ms。 |
## VideoController ## VideoController
...@@ -110,9 +110,9 @@ setCurrentTime(value: number) ...@@ -110,9 +110,9 @@ setCurrentTime(value: number)
指定视频播放的进度位置。 指定视频播放的进度位置。
- 参数 - 参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| -------- | -------- | -------- | -------- | -------- | | ----- | ------ | ---- | ---- | --------- |
| value | number | 是 | - | 视频播放进度位置。 | | value | number | 是 | - | 视频播放进度位置。 |
### requestFullscreen ### requestFullscreen
...@@ -121,9 +121,9 @@ requestFullscreen(value: boolean) ...@@ -121,9 +121,9 @@ requestFullscreen(value: boolean)
请求全屏播放。 请求全屏播放。
- 参数 - 参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| -------- | -------- | -------- | -------- | -------- | | ----- | ------ | ---- | ----- | ------- |
| value | number | 是 | false | 是否全屏播放。 | | value | number | 是 | false | 是否全屏播放。 |
### exitFullscreen ### exitFullscreen
...@@ -138,18 +138,18 @@ setCurrentTime(value: number, seekMode: SeekMode) ...@@ -138,18 +138,18 @@ setCurrentTime(value: number, seekMode: SeekMode)
指定视频播放的进度位置,并指定跳转模式。 指定视频播放的进度位置,并指定跳转模式。
- 参数 - 参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | ---- | ---- | --------- |
| value | number | 是 | - | 视频播放进度位置。 | | value | number | 是 | - | 视频播放进度位置。 |
| seekMode | SeekMode | 是 | - | 跳转模式。 | | seekMode | SeekMode | 是 | - | 跳转模式。 |
- SeekMode<sup>8+</sup>类型接口说明 - SeekMode<sup>8+</sup>类型接口说明
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ---------------- | -------------- |
| PreviousKeyframe | 跳转到前一个最近的关键帧。 | | PreviousKeyframe | 跳转到前一个最近的关键帧。 |
| NextKeyframe | 跳转到后一个最近的关键帧。 | | NextKeyframe | 跳转到后一个最近的关键帧。 |
| ClosestKeyframe | 跳转到最近的关键帧。 | | ClosestKeyframe | 跳转到最近的关键帧。 |
| Accurate | 精准跳转,不论是否为关键帧。 | | Accurate | 精准跳转,不论是否为关键帧。 |
......
# 任务管理
后台任务
- [后台任务概述](background-task-overview.md)
- [后台任务开发指导](background-task-dev-guide.md)
延迟任务调度
- [延迟任务调度概述](work-scheduler-overview.md)
- [延迟任务调度开发指导](work-scheduler-dev-guide.md)
\ No newline at end of file
...@@ -10,11 +10,11 @@ ...@@ -10,11 +10,11 @@
**表1** 短时任务主要接口 **表1** 短时任务主要接口
| 接口名 | 描述 | | 接口名 | 描述 |
| -------- | -------- | | ---------------------------------------- | ---------------------------------------- |
| requestSuspendDelay(reason:&nbsp;string,&nbsp;callback:&nbsp;Callback&lt;void&gt;):&nbsp;[DelaySuspendInfo](../reference/apis/js-apis-backgroundTaskManager.md#delaysuspendinfo) | 后台应用申请延迟挂起。<br/>延迟挂起时间一般情况下默认值为180000,低电量时默认值为60000。 | | requestSuspendDelay(reason:&nbsp;string,&nbsp;callback:&nbsp;Callback&lt;void&gt;):&nbsp;[DelaySuspendInfo](../reference/apis/js-apis-backgroundTaskManager.md#delaysuspendinfo) | 后台应用申请延迟挂起。<br/>延迟挂起时间一般情况下默认值为180000,低电量时默认值为60000。 |
| getRemainingDelayTime(requestId:&nbsp;number):&nbsp;Promise&lt;number&gt; | 获取应用程序进入挂起状态前的剩余时间。<br/>其任务执行结果以Promise形式返回给应用。 | | getRemainingDelayTime(requestId:&nbsp;number):&nbsp;Promise&lt;number&gt; | 获取应用程序进入挂起状态前的剩余时间。<br/>使用Promise形式返回。 |
| cancelSuspendDelay(requestId:&nbsp;number):&nbsp;void | 取消延迟挂起。 | | cancelSuspendDelay(requestId:&nbsp;number):&nbsp;void | 取消延迟挂起。 |
### 开发步骤 ### 开发步骤
...@@ -24,12 +24,12 @@ ...@@ -24,12 +24,12 @@
```js ```js
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
let myReason = 'test requestSuspendDelay'; let myReason = 'test requestSuspendDelay';
let delayInfo = backgroundTaskManager.requestSuspendDelay(myReason, () => { let delayInfo = backgroundTaskManager.requestSuspendDelay(myReason, () => {
console.info("Request suspension delay will time out."); console.info("Request suspension delay will time out.");
}); });
var id = delayInfo.requestId; var id = delayInfo.requestId;
console.info("requestId is: " + id); console.info("requestId is: " + id);
``` ```
...@@ -91,27 +91,27 @@ ohos.permission.KEEP_BACKGROUND_RUNNING ...@@ -91,27 +91,27 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
**表2** 长时任务主要接口 **表2** 长时任务主要接口
| 接口名 | 描述 | | 接口名 | 描述 |
| -------- | -------- | | ---------------------------------------- | ---------------------------- |
| startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent): Promise&lt;void&gt; | 服务启动后,向系统申请长时任务,使服务一直保持后台运行。 | | startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent): Promise&lt;void&gt; | 服务启动后,向系统申请长时任务,使服务一直保持后台运行。 |
| stopBackgroundRunning(context: Context): Promise&lt;void&gt; | 停止后台长时任务的运行。 | | stopBackgroundRunning(context: Context): Promise&lt;void&gt; | 停止后台长时任务的运行。 |
其中,wantAgent的信息详见([WantAgent](../reference/apis/js-apis-wantAgent.md) 其中,wantAgent的信息详见([WantAgent](../reference/apis/js-apis-wantAgent.md)
**表3** 后台模式类型 **表3** 后台模式类型
| 参数名 | id值 | 描述 | 配置项 | | 参数名 | id值 | 描述 | 配置项 |
| -------- | -------- | -------- | -------- | | ----------------------- | ---- | -------------- | --------------------- |
| DATA_TRANSFER | 1 | 数据传输 | dataTransfer | | DATA_TRANSFER | 1 | 数据传输 | dataTransfer |
| AUDIO_PLAYBACK | 2 | 音频播放 | audioPlayback | | AUDIO_PLAYBACK | 2 | 音频播放 | audioPlayback |
| AUDIO_RECORDING | 3 | 录音 | audioRecording | | AUDIO_RECORDING | 3 | 录音 | audioRecording |
| LOCATION | 4 | 定位导航 | location | | LOCATION | 4 | 定位导航 | location |
| BLUETOOTH_INTERACTION | 5 | 蓝牙相关 | bluetoothInteraction | | BLUETOOTH_INTERACTION | 5 | 蓝牙相关 | bluetoothInteraction |
| MULTI_DEVICE_CONNECTION | 6 | 多设备互联 | multiDeviceConnection | | MULTI_DEVICE_CONNECTION | 6 | 多设备互联 | multiDeviceConnection |
| WIFI_INTERACTION | 7 | WLAN相关(系统保留) | wifiInteraction | | WIFI_INTERACTION | 7 | WLAN相关(系统保留) | wifiInteraction |
| VOIP | 8 | 音视频通话(系统保留) | voip | | VOIP | 8 | 音视频通话(系统保留) | voip |
| TASK_KEEPING | 9 | 计算任务(仅供特定设备使用) | taskKeeping | | TASK_KEEPING | 9 | 计算任务(仅供特定设备使用) | taskKeeping |
### 开发步骤 ### 开发步骤
...@@ -137,7 +137,7 @@ ohos.permission.KEEP_BACKGROUND_RUNNING ...@@ -137,7 +137,7 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
] ]
} }
``` ```
2. 申请长时任务 2. 申请长时任务
```js ```js
...@@ -173,13 +173,13 @@ ohos.permission.KEEP_BACKGROUND_RUNNING ...@@ -173,13 +173,13 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
```js ```js
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => { backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => {
console.info("Operation stopBackgroundRunning succeeded"); console.info("Operation stopBackgroundRunning succeeded");
}).catch((err) => { }).catch((err) => {
console.error("Operation stopBackgroundRunning failed Cause: " + err); console.error("Operation stopBackgroundRunning failed Cause: " + err);
}); });
``` ```
### 开发实例 ### 开发实例
......
# 延迟任务调度开发指导 # 延迟任务调度开发指导
## 场景介绍 ## 场景介绍
应用要执行对实时性要求不高的任务的时候,比如设备空闲时候做一次数据学习等场景,可以使用延迟调度任务,该机制在满足应用设定条件的时候,会根据系统当前状态,如内存、功耗、热等统一决策调度时间。 应用要执行对实时性要求不高的任务的时候,比如设备空闲时候做一次数据学习等场景,可以使用延迟调度任务,该机制在满足应用设定条件的时候,会根据系统当前状态,如内存、功耗、热等统一决策调度时间。
## 接口说明 ## 接口说明
注册相关接口包导入: 注册相关接口包导入:
```js ```js
import workScheduler from '@ohos.workScheduler'; import workScheduler from '@ohos.workScheduler';
``` ```
回调相关接口包导入: 回调相关接口包导入:
```js ```js
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility'; import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
``` ```
### 延迟任务调度 ### 延迟任务调度
**表1** workScheduler主要接口 **表1** workScheduler主要接口
接口名 | 接口描述 接口名 | 接口描述
---------------------------------------------------------|----------------------------------------- ---------------------------------------------------------|-----------------------------------------
function startWork(work: WorkInfo): boolean; | 延迟调度任务申请 function startWork(work: WorkInfo): boolean; | 延迟调度任务申请
function stopWork(work: WorkInfo, needCancel?: boolean): boolean; | 延迟调度任务取消 function stopWork(work: WorkInfo, needCancel?: boolean): boolean; | 延迟调度任务取消
function getWorkStatus(workId: number, callback: AsyncCallback<WorkInfo>): void;| 获取延迟调度任务状态(Callback形式) function getWorkStatus(workId: number, callback: AsyncCallback<WorkInfo>): void;| 获取延迟调度任务状态(Callback形式)
function getWorkStatus(workId: number): Promise<WorkInfo>; | 获取延迟调度任务状态(Promise形式) function getWorkStatus(workId: number): Promise<WorkInfo>; | 获取延迟调度任务状态(Promise形式)
function obtainAllWorks(callback: AsyncCallback<void>): Array<WorkInfo>;| 获取所有延迟调度任务(Callback形式) function obtainAllWorks(callback: AsyncCallback<void>): Array<WorkInfo>;| 获取所有延迟调度任务(Callback形式)
function obtainAllWorks(): Promise<Array<WorkInfo>>;| 获取所有延迟调度任务(Promise形式) function obtainAllWorks(): Promise<Array<WorkInfo>>;| 获取所有延迟调度任务(Promise形式)
function stopAndClearWorks(): boolean;| 停止并清除任务 function stopAndClearWorks(): boolean;| 停止并清除任务
function isLastWorkTimeOut(workId: number, callback: AsyncCallback<void>): boolean;| 获取上次任务是否超时(针对RepeatWork,Callback形式) function isLastWorkTimeOut(workId: number, callback: AsyncCallback<void>): boolean;| 获取上次任务是否超时(针对RepeatWork,Callback形式)
function isLastWorkTimeOut(workId: number): Promise<boolean>;| 获取上次任务是否超时(针对RepeatWork,Promise形式) function isLastWorkTimeOut(workId: number): Promise<boolean>;| 获取上次任务是否超时(针对RepeatWork,Promise形式)
**表2** WorkInfo包含参数 **表2** WorkInfo包含参数
接口名|描述|类型 接口名|描述|类型
---------------------------------------------------------|-----------------------------------------|--------------------------------------------------------- ---------------------------------------------------------|-----------------------------------------|---------------------------------------------------------
workId | 延迟任务Id(必填)|number workId | 延迟任务Id(必填)|number
bundleName | 延迟任务包名(必填)|string bundleName | 延迟任务包名(必填)|string
abilityName | 延迟任务回调通知的组件名(必填)|string abilityName | 延迟任务回调通知的组件名(必填)|string
networkType | 网络类型 | NetworkType networkType | 网络类型 | NetworkType
isCharging | 是否充电 | boolean isCharging | 是否充电 | boolean
chargerType | 充电类型 | ChargingType chargerType | 充电类型 | ChargingType
batteryLevel | 电量| number batteryLevel | 电量| number
batteryStatus| 电池状态| BatteryStatus batteryStatus| 电池状态| BatteryStatus
storageRequest|存储状态| StorageRequest storageRequest|存储状态| StorageRequest
isRepeat|是否循环任务| boolean isRepeat|是否循环任务| boolean
repeatCycleTime |循环间隔| number repeatCycleTime |循环间隔| number
repeatCount |循环次数| number repeatCount |循环次数| number
**表3** 延迟任务回调接口 **表3** 延迟任务回调接口
接口名 | 接口描述 接口名 | 接口描述
---------------------------------------------------------|----------------------------------------- ---------------------------------------------------------|-----------------------------------------
function onWorkStart(work: WorkInfo): void; | 延迟调度任务开始回调 function onWorkStart(work: WorkInfo): void; | 延迟调度任务开始回调
function onWorkStop(work: WorkInfo): void; | 延迟调度任务结束回调 function onWorkStop(work: WorkInfo): void; | 延迟调度任务结束回调
### 开发步骤 ### 开发步骤
**开发对应的Extension** **开发对应的Extension**
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility'; import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility { export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
onWorkStart(workInfo) { onWorkStart(workInfo) {
console.log('MyWorkSchedulerExtensionAbility onWorkStart' + JSON.stringify(workInfo)); console.log('MyWorkSchedulerExtensionAbility onWorkStart' + JSON.stringify(workInfo));
} }
onWorkStop(workInfo) { onWorkStop(workInfo) {
console.log('MyWorkSchedulerExtensionAbility onWorkStop' + JSON.stringify(workInfo)); console.log('MyWorkSchedulerExtensionAbility onWorkStop' + JSON.stringify(workInfo));
} }
} }
**注册延迟任务** **注册延迟任务**
import workScheduler from '@ohos.workScheduler'; import workScheduler from '@ohos.workScheduler';
let workInfo = { let workInfo = {
workId: 1, workId: 1,
batteryLevel:50, batteryLevel:50,
batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW, batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW,
isRepeat: false, isRepeat: false,
isPersisted: true, isPersisted: true,
bundleName: "com.example.myapplication", bundleName: "com.example.myapplication",
abilityName: "MyExtension" abilityName: "MyExtension"
} }
var res = workScheduler.startWork(workInfo); var res = workScheduler.startWork(workInfo);
console.info("workschedulerLog res:" + res); console.info("workschedulerLog res:" + res);
**取消延迟任务** **取消延迟任务**
import workScheduler from '@ohos.workScheduler'; import workScheduler from '@ohos.workScheduler';
let workInfo = { let workInfo = {
workId: 1, workId: 1,
batteryLevel:50, batteryLevel:50,
batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW, batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW,
isRepeat: false, isRepeat: false,
isPersisted: true, isPersisted: true,
bundleName: "com.example.myapplication", bundleName: "com.example.myapplication",
abilityName: "MyExtension" abilityName: "MyExtension"
} }
var res = workScheduler.stopWork(workInfo, false); var res = workScheduler.stopWork(workInfo, false);
console.info("workschedulerLog res:" + res); console.info("workschedulerLog res:" + res);
**获取指定延迟任务** **获取指定延迟任务**
1.Callback写法 1.Callback写法
workScheduler.getWorkStatus(50, (err, res) => { workScheduler.getWorkStatus(50, (err, res) => {
if (err) { if (err) {
console.info('workschedulerLog getWorkStatus failed, because:' + err.code); console.info('workschedulerLog getWorkStatus failed, because:' + err.code);
} else { } else {
for (let item in res) { for (let item in res) {
console.info('workschedulerLog getWorkStatuscallback success,' + item + ' is:' + res[item]); console.info('workschedulerLog getWorkStatuscallback success,' + item + ' is:' + res[item]);
} }
} }
}); });
2.Promise写法 2.Promise写法
workScheduler.getWorkStatus(50).then((res) => { workScheduler.getWorkStatus(50).then((res) => {
for (let item in res) { for (let item in res) {
console.info('workschedulerLog getWorkStatus success,' + item + ' is:' + res[item]); console.info('workschedulerLog getWorkStatus success,' + item + ' is:' + res[item]);
} }
}).catch((err) => { }).catch((err) => {
console.info('workschedulerLog getWorkStatus failed, because:' + err.code); console.info('workschedulerLog getWorkStatus failed, because:' + err.code);
}) })
**获取所有延迟任务** **获取所有延迟任务**
1.Callback写法 1.Callback写法
workScheduler.obtainAllWorks((err, res) =>{ workScheduler.obtainAllWorks((err, res) =>{
if (err) { if (err) {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.code); console.info('workschedulerLog obtainAllWorks failed, because:' + err.code);
} else { } else {
console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res)); console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res));
} }
}); });
2.Promise写法 2.Promise写法
workScheduler.obtainAllWorks().then((res) => { workScheduler.obtainAllWorks().then((res) => {
console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res)); console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res));
}).catch((err) => { }).catch((err) => {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.code); console.info('workschedulerLog obtainAllWorks failed, because:' + err.code);
}) })
**停止并清除任务** **停止并清除任务**
let res = workScheduler.stopAndClearWorks(); let res = workScheduler.stopAndClearWorks();
console.info("workschedulerLog res:" + res); console.info("workschedulerLog res:" + res);
**判断上次执行是否超时** **判断上次执行是否超时**
1.Callback写法 1.Callback写法
workScheduler.isLastWorkTimeOut(500, (err, res) =>{ workScheduler.isLastWorkTimeOut(500, (err, res) =>{
if (err) { if (err) {
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code); console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code);
} else { } else {
console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res); console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res);
} }
}); });
2.Promise写法 2.Promise写法
workScheduler.isLastWorkTimeOut(500) workScheduler.isLastWorkTimeOut(500)
.then(res => { .then(res => {
console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res); console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res);
}) })
.catch(err => { .catch(err => {
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code); console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code);
}); });
}) })
\ No newline at end of file
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
- **语言运行时** - **语言运行时**
选用方舟语言运行时,提供了针对UI范式语法的解析能力,提供了跨语言调用支持,提供了TS语言高性能运行环境。 选用方舟语言运行时,提供了针对UI范式语法的解析能力、跨语言调用支持的能力和TS语言高性能运行环境。
- **声明式UI后端引擎** - **声明式UI后端引擎**
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
- [HarmonyAppProvision配置文件](quick-start/app-provision-structure.md) - [HarmonyAppProvision配置文件](quick-start/app-provision-structure.md)
- 开发 - 开发
...@@ -74,7 +73,6 @@ ...@@ -74,7 +73,6 @@
- UI开发 - UI开发
- [方舟开发框架(ArkUI)概述](ui/arkui-overview.md) - [方舟开发框架(ArkUI)概述](ui/arkui-overview.md)
- 基于JS扩展的类Web开发范式 - 基于JS扩展的类Web开发范式
...@@ -404,7 +402,6 @@ ...@@ -404,7 +402,6 @@
* [屏幕截图开发指导](windowmanager/screenshot-guidelines.md) * [屏幕截图开发指导](windowmanager/screenshot-guidelines.md)
- WebGL - WebGL
...@@ -441,7 +438,6 @@ ...@@ -441,7 +438,6 @@
- [图片开发指导](media/image.md) - [图片开发指导](media/image.md)
- 相机 - 相机
...@@ -536,18 +532,19 @@ ...@@ -536,18 +532,19 @@
- [后台代理提醒开发指导](background-agent-scheduled-reminder/background-agent-scheduled-reminder-guide.md) - [后台代理提醒开发指导](background-agent-scheduled-reminder/background-agent-scheduled-reminder-guide.md)
- 后台任务管理 - 任务管理
- 后台任务
- [后台任务概述](background-task-management/background-task-overview.md) - [后台任务概述](task-management/background-task-overview.md)
- [后台任务开发指导](background-task-management/background-task-dev-guide.md) - [后台任务开发指导](task-management/background-task-dev-guide.md)
- 延迟任务调度 - 延迟任务调度
- [延迟任务调度概述](work-scheduler/work-scheduler-overview.md) - [延迟任务调度概述](task-management/work-scheduler-overview.md)
- [延迟任务调度开发指导](work-scheduler/work-scheduler-dev-guide.md) - [延迟任务调度开发指导](task-management/work-scheduler-dev-guide.md)
- 设备管理 - 设备管理
...@@ -611,7 +608,6 @@ ...@@ -611,7 +608,6 @@
- [分布式跟踪开发指导](dfx/hitracechain-guidelines.md) - [分布式跟踪开发指导](dfx/hitracechain-guidelines.md)
- 国际化 - 国际化
...@@ -1563,7 +1559,6 @@ ...@@ -1563,7 +1559,6 @@
- 已停止维护的接口 - 已停止维护的接口
- [@ohos.bytrace (性能打点)](reference/apis/js-apis-bytrace.md) - [@ohos.bytrace (性能打点)](reference/apis/js-apis-bytrace.md)
......
# 延迟任务调度
- [延迟任务调度概述](work-scheduler-overview.md)
- [延迟任务调度开发指导](work-scheduler-dev-guide.md)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册