提交 38837e54 编写于 作者: H HelloCrease

update docs

Signed-off-by: NHelloCrease <lian15@huawei.com>
上级 c61f957b
# 后台任务管理
- [后台任务概述](background-task-overview.md)
- [后台任务开发指导](background-task-dev-guide.md)
\ No newline at end of file
......@@ -23,9 +23,9 @@ matchMediaSync(condition: string): MediaQueryListener
设置媒体查询的查询条件,并返回对应的监听句柄。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | ---------- |
| condition | string | 是 | 媒体事件的匹配条件。 |
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | ---------------------------------------- |
| condition | string | 是 | 媒体事件的匹配条件,具体可参考[媒体查询语法规则](/ui/ui-ts-layout-mediaquery.md#媒体查询条件语法规则)。 |
**返回值:**
| 类型 | 说明 |
......
# Search
> **说明:** 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
> **说明:**
>
> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
提供搜索框组件,用于提供用户搜索内容的输入区域。
......@@ -28,13 +30,13 @@ Search(options?: { value?: string; placeholder?: string; icon?: string; controll
## 属性
| 名称 | 参数类型 | 默认值 | 描述 |
| ---------------- | ------------------------------------- | ---- | --------------------- |
| searchButton | string | 无 | 搜索框末尾搜索按钮文本值,默认无搜索按钮。 |
| placeholderColor | [ResourceColor](../../ui/ts-types.md) | - | 设置placeholder颜色。 |
| placeholderFont | [Font](../../ui/ts-types.md) | - | 设置placeholder文本样式。 |
| textFont | [Font](../../ui/ts-types.md) | - | 设置搜索框内文本样式。 |
| copyOption<sup>9+</sup> | boolean\|[CopyOption](ts-basic-components-text.md) | true | 设置文本是否可复制。 |
| 名称 | 参数类型 | 默认值 | 描述 |
| ----------------------- | ---------------------------------------- | ---- | --------------------- |
| searchButton | string | 无 | 搜索框末尾搜索按钮文本值,默认无搜索按钮。 |
| placeholderColor | [ResourceColor](../../ui/ts-types.md) | - | 设置placeholder颜色。 |
| placeholderFont | [Font](../../ui/ts-types.md) | - | 设置placeholder文本样式。 |
| textFont | [Font](../../ui/ts-types.md) | - | 设置搜索框内文本样式。 |
| copyOption<sup>9+</sup> | boolean\|[CopyOption](ts-basic-components-text.md) | true | 设置文本是否可复制。 |
## 事件
......
# 任务管理
后台任务
- [后台任务概述](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 @@
**表1** 短时任务主要接口
| 接口名 | 描述 |
| -------- | -------- |
| 接口名 | 描述 |
| ---------------------------------------- | ---------------------------------------- |
| 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形式返回给应用。 |
| cancelSuspendDelay(requestId:&nbsp;number):&nbsp;void | 取消延迟挂起。 |
| getRemainingDelayTime(requestId:&nbsp;number):&nbsp;Promise&lt;number&gt; | 获取应用程序进入挂起状态前的剩余时间。<br/>使用Promise形式返回。 |
| cancelSuspendDelay(requestId:&nbsp;number):&nbsp;void | 取消延迟挂起。 |
### 开发步骤
......@@ -24,12 +24,12 @@
```js
import backgroundTaskManager from '@ohos.backgroundTaskManager';
let myReason = 'test requestSuspendDelay';
let delayInfo = backgroundTaskManager.requestSuspendDelay(myReason, () => {
console.info("Request suspension delay will time out.");
});
var id = delayInfo.requestId;
console.info("requestId is: " + id);
```
......@@ -91,27 +91,27 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
**表2** 长时任务主要接口
| 接口名 | 描述 |
| -------- | -------- |
| 接口名 | 描述 |
| ---------------------------------------- | ---------------------------- |
| 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)
**表3** 后台模式类型
| 参数名 | id值 | 描述 | 配置项 |
| -------- | -------- | -------- | -------- |
| DATA_TRANSFER | 1 | 数据传输 | dataTransfer |
| AUDIO_PLAYBACK | 2 | 音频播放 | audioPlayback |
| AUDIO_RECORDING | 3 | 录音 | audioRecording |
| LOCATION | 4 | 定位导航 | location |
| BLUETOOTH_INTERACTION | 5 | 蓝牙相关 | bluetoothInteraction |
| MULTI_DEVICE_CONNECTION | 6 | 多设备互联 | multiDeviceConnection |
| WIFI_INTERACTION | 7 | WLAN相关(系统保留) | wifiInteraction |
| VOIP | 8 | 音视频通话(系统保留) | voip |
| TASK_KEEPING | 9 | 计算任务(仅供特定设备使用) | taskKeeping |
| 参数名 | id值 | 描述 | 配置项 |
| ----------------------- | ---- | -------------- | --------------------- |
| DATA_TRANSFER | 1 | 数据传输 | dataTransfer |
| AUDIO_PLAYBACK | 2 | 音频播放 | audioPlayback |
| AUDIO_RECORDING | 3 | 录音 | audioRecording |
| LOCATION | 4 | 定位导航 | location |
| BLUETOOTH_INTERACTION | 5 | 蓝牙相关 | bluetoothInteraction |
| MULTI_DEVICE_CONNECTION | 6 | 多设备互联 | multiDeviceConnection |
| WIFI_INTERACTION | 7 | WLAN相关(系统保留) | wifiInteraction |
| VOIP | 8 | 音视频通话(系统保留) | voip |
| TASK_KEEPING | 9 | 计算任务(仅供特定设备使用) | taskKeeping |
### 开发步骤
......@@ -137,7 +137,7 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
]
}
```
2. 申请长时任务
```js
......@@ -173,13 +173,13 @@ ohos.permission.KEEP_BACKGROUND_RUNNING
```js
import backgroundTaskManager from '@ohos.backgroundTaskManager';
import featureAbility from '@ohos.ability.featureAbility';
backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => {
console.info("Operation stopBackgroundRunning succeeded");
}).catch((err) => {
console.error("Operation stopBackgroundRunning failed Cause: " + err);
});
```
### 开发实例
......
# 延迟任务调度开发指导
## 场景介绍
应用要执行对实时性要求不高的任务的时候,比如设备空闲时候做一次数据学习等场景,可以使用延迟调度任务,该机制在满足应用设定条件的时候,会根据系统当前状态,如内存、功耗、温度等统一决策调度时间。
## 接口说明
注册相关接口包导入:
```js
import workScheduler from '@ohos.workScheduler';
```
回调相关接口包导入:
```js
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
```
### 延迟任务调度
**表1** workScheduler主要接口
接口名 | 接口描述
---------------------------------------------------------|-----------------------------------------
startWork(work: WorkInfo): boolean; | 延迟调度任务申请
stopWork(work: WorkInfo, needCancel?: boolean): boolean; | 延迟调度任务取消
getWorkStatus(workId: number, callback: AsyncCallback\<WorkInfo>): void;| 获取延迟调度任务状态(Callback形式)
getWorkStatus(workId: number): Promise\<WorkInfo>; | 获取延迟调度任务状态(Promise形式)
obtainAllWorks(callback: AsyncCallback\<void>): Array\<WorkInfo>;| 获取所有延迟调度任务(Callback形式)
obtainAllWorks(): Promise<Array\<WorkInfo>>;| 获取所有延迟调度任务(Promise形式)
stopAndClearWorks(): boolean;| 停止并清除任务
isLastWorkTimeOut(workId: number, callback: AsyncCallback\<void>): boolean;| 获取上次任务是否超时(针对RepeatWork,Callback形式)
isLastWorkTimeOut(workId: number): Promise\<boolean>;| 获取上次任务是否超时(针对RepeatWork,Promise形式)
**表2** WorkInfo包含参数
接口名|描述|类型
---------------------------------------------------------|-----------------------------------------|---------------------------------------------------------
workId | 延迟任务Id(必填)|number
bundleName | 延迟任务包名(必填)|string
abilityName | 延迟任务回调通知的组件名(必填)|string
networkType | 网络类型 | NetworkType
isCharging | 是否充电 | boolean
chargerType | 充电类型 | ChargingType
batteryLevel | 电量| number
batteryStatus| 电池状态| BatteryStatus
storageRequest|存储状态| StorageRequest
isRepeat|是否循环任务| boolean
repeatCycleTime |循环间隔| number
repeatCount |循环次数| number
**表3** 延迟任务回调接口
接口名 | 接口描述
---------------------------------------------------------|-----------------------------------------
onWorkStart(work: WorkInfo): void; | 延迟调度任务开始回调
onWorkStop(work: WorkInfo): void; | 延迟调度任务结束回调
### 开发步骤
**开发对应的Extension**
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
onWorkStart(workInfo) {
console.log('MyWorkSchedulerExtensionAbility onWorkStart' + JSON.stringify(workInfo));
}
onWorkStop(workInfo) {
console.log('MyWorkSchedulerExtensionAbility onWorkStop' + JSON.stringify(workInfo));
}
}
**注册延迟任务**
import workScheduler from '@ohos.workScheduler';
let workInfo = {
workId: 1,
batteryLevel:50,
batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW,
isRepeat: false,
isPersisted: true,
bundleName: "com.example.myapplication",
abilityName: "MyExtension"
}
var res = workScheduler.startWork(workInfo);
console.info("workschedulerLog res:" + res);
**取消延迟任务**
import workScheduler from '@ohos.workScheduler';
let workInfo = {
workId: 1,
batteryLevel:50,
batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW,
isRepeat: false,
isPersisted: true,
bundleName: "com.example.myapplication",
abilityName: "MyExtension"
}
var res = workScheduler.stopWork(workInfo, false);
console.info("workschedulerLog res:" + res);
**获取指定延迟任务**
1.Callback写法
workScheduler.getWorkStatus(50, (err, res) => {
if (err) {
console.info('workschedulerLog getWorkStatus failed, because:' + err.code);
} else {
for (let item in res) {
console.info('workschedulerLog getWorkStatuscallback success,' + item + ' is:' + res[item]);
}
}
});
2.Promise写法
workScheduler.getWorkStatus(50).then((res) => {
for (let item in res) {
console.info('workschedulerLog getWorkStatus success,' + item + ' is:' + res[item]);
}
}).catch((err) => {
console.info('workschedulerLog getWorkStatus failed, because:' + err.code);
})
**获取所有延迟任务**
1.Callback写法
workScheduler.obtainAllWorks((err, res) =>{
if (err) {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.code);
} else {
console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res));
}
});
2.Promise写法
workScheduler.obtainAllWorks().then((res) => {
console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res));
}).catch((err) => {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.code);
})
**停止并清除任务**
let res = workScheduler.stopAndClearWorks();
console.info("workschedulerLog res:" + res);
**判断上次执行是否超时**
1.Callback写法
workScheduler.isLastWorkTimeOut(500, (err, res) =>{
if (err) {
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code);
} else {
console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res);
}
});
2.Promise写法
workScheduler.isLastWorkTimeOut(500)
.then(res => {
console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res);
})
.catch(err => {
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code);
});
# 延迟任务调度开发指导
## 场景介绍
应用要执行对实时性要求不高的任务的时候,比如设备空闲时候做一次数据学习等场景,可以使用延迟调度任务,该机制在满足应用设定条件的时候,会根据系统当前状态,如内存、功耗、温度等统一决策调度时间。
## 接口说明
注册相关接口包导入:
```js
import workScheduler from '@ohos.workScheduler';
```
回调相关接口包导入:
```js
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
```
### 延迟任务调度
**表1** workScheduler主要接口
接口名 | 接口描述
---------------------------------------------------------|-----------------------------------------
startWork(work: WorkInfo): boolean; | 延迟调度任务申请
stopWork(work: WorkInfo, needCancel?: boolean): boolean; | 延迟调度任务取消
getWorkStatus(workId: number, callback: AsyncCallback\<WorkInfo>): void;| 获取延迟调度任务状态(Callback形式)
getWorkStatus(workId: number): Promise\<WorkInfo>; | 获取延迟调度任务状态(Promise形式)
obtainAllWorks(callback: AsyncCallback\<void>): Array\<WorkInfo>;| 获取所有延迟调度任务(Callback形式)
obtainAllWorks(): Promise<Array\<WorkInfo>>;| 获取所有延迟调度任务(Promise形式)
stopAndClearWorks(): boolean;| 停止并清除任务
isLastWorkTimeOut(workId: number, callback: AsyncCallback\<void>): boolean;| 获取上次任务是否超时(针对RepeatWork,Callback形式)
isLastWorkTimeOut(workId: number): Promise\<boolean>;| 获取上次任务是否超时(针对RepeatWork,Promise形式)
**表2** WorkInfo包含参数
接口名|描述|类型
---------------------------------------------------------|-----------------------------------------|---------------------------------------------------------
workId | 延迟任务Id(必填)|number
bundleName | 延迟任务包名(必填)|string
abilityName | 延迟任务回调通知的组件名(必填)|string
networkType | 网络类型 | NetworkType
isCharging | 是否充电 | boolean
chargerType | 充电类型 | ChargingType
batteryLevel | 电量| number
batteryStatus| 电池状态| BatteryStatus
storageRequest|存储状态| StorageRequest
isRepeat|是否循环任务| boolean
repeatCycleTime |循环间隔| number
repeatCount |循环次数| number
**表3** 延迟任务回调接口
接口名 | 接口描述
---------------------------------------------------------|-----------------------------------------
onWorkStart(work: WorkInfo): void; | 延迟调度任务开始回调
onWorkStop(work: WorkInfo): void; | 延迟调度任务结束回调
### 开发步骤
**开发对应的Extension**
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
export default class MyWorkSchedulerExtensionAbility extends WorkSchedulerExtensionAbility {
onWorkStart(workInfo) {
console.log('MyWorkSchedulerExtensionAbility onWorkStart' + JSON.stringify(workInfo));
}
onWorkStop(workInfo) {
console.log('MyWorkSchedulerExtensionAbility onWorkStop' + JSON.stringify(workInfo));
}
}
**注册延迟任务**
import workScheduler from '@ohos.workScheduler';
let workInfo = {
workId: 1,
batteryLevel:50,
batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW,
isRepeat: false,
isPersisted: true,
bundleName: "com.example.myapplication",
abilityName: "MyExtension"
}
var res = workScheduler.startWork(workInfo);
console.info("workschedulerLog res:" + res);
**取消延迟任务**
import workScheduler from '@ohos.workScheduler';
let workInfo = {
workId: 1,
batteryLevel:50,
batteryStatus:workScheduler.BatteryStatus.BATTERY_STATUS_LOW,
isRepeat: false,
isPersisted: true,
bundleName: "com.example.myapplication",
abilityName: "MyExtension"
}
var res = workScheduler.stopWork(workInfo, false);
console.info("workschedulerLog res:" + res);
**获取指定延迟任务**
1.Callback写法
workScheduler.getWorkStatus(50, (err, res) => {
if (err) {
console.info('workschedulerLog getWorkStatus failed, because:' + err.code);
} else {
for (let item in res) {
console.info('workschedulerLog getWorkStatuscallback success,' + item + ' is:' + res[item]);
}
}
});
2.Promise写法
workScheduler.getWorkStatus(50).then((res) => {
for (let item in res) {
console.info('workschedulerLog getWorkStatus success,' + item + ' is:' + res[item]);
}
}).catch((err) => {
console.info('workschedulerLog getWorkStatus failed, because:' + err.code);
})
**获取所有延迟任务**
1.Callback写法
workScheduler.obtainAllWorks((err, res) =>{
if (err) {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.code);
} else {
console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res));
}
});
2.Promise写法
workScheduler.obtainAllWorks().then((res) => {
console.info('workschedulerLog obtainAllWorks success, data is:' + JSON.stringify(res));
}).catch((err) => {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.code);
})
**停止并清除任务**
let res = workScheduler.stopAndClearWorks();
console.info("workschedulerLog res:" + res);
**判断上次执行是否超时**
1.Callback写法
workScheduler.isLastWorkTimeOut(500, (err, res) =>{
if (err) {
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code);
} else {
console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res);
}
});
2.Promise写法
workScheduler.isLastWorkTimeOut(500)
.then(res => {
console.info('workschedulerLog isLastWorkTimeOut success, data is:' + res);
})
.catch(err => {
console.info('workschedulerLog isLastWorkTimeOut failed, because:' + err.code);
});
})
\ No newline at end of file
......@@ -42,7 +42,7 @@
- **语言运行时**
选用方舟语言运行时,提供了针对UI范式语法的解析能力,提供了跨语言调用支持,提供了TS语言高性能运行环境。
选用方舟语言运行时,提供了针对UI范式语法的解析能力、跨语言调用支持的能力和TS语言高性能运行环境。
- **声明式UI后端引擎**
......
......@@ -254,12 +254,13 @@
- 后台代理提醒
- [后台代理概述](background-agent-scheduled-reminder/background-agent-scheduled-reminder-overview.md)
- [后台代理开发指导](background-agent-scheduled-reminder/background-agent-scheduled-reminder-guide.md)
- 后台任务管理
- [后台任务概述](background-task-management/background-task-overview.md)
- [后台任务开发指导](background-task-management/background-task-dev-guide.md)
- 延迟任务调度
- [延迟任务调度概述](work-scheduler/work-scheduler-overview.md)
- [延迟任务调度开发指导](work-scheduler/work-scheduler-dev-guide.md)
- 任务管理
- 后台任务
- [后台任务概述](task-management/background-task-overview.md)
- [后台任务开发指导](task-management/background-task-dev-guide.md)
- 延迟任务调度
- [延迟任务调度概述](task-management/work-scheduler-overview.md)
- [延迟任务调度开发指导](task-management/work-scheduler-dev-guide.md)
- 设备管理
- USB服务
- [USB服务开发概述](device/usb-overview.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.
先完成此消息的编辑!
想要评论请 注册