提交 ec4b32c1 编写于 作者: Q ql 提交者: Gitee

Merge branch 'master' of gitee.com:openharmony/docs into master

# Application Development
# OpenHarmony Application Development Documentation
- [Application Development Overview](application-dev-guide.md)
- Quick Start
......
......@@ -28,13 +28,13 @@ Ability assistant(Ability助手,简称为aa)是实现应用、原子化服
用于启动一个ability。
| 参数 | 参数说明 |
| --------- | ---------------------- |
| -h/--help | 帮助信息。 |
| -d | 可选参数,device id |
| -a | 必选参数,ability name |
| -b | 必选参数,bundle name |
| -D | 可选参数,调试模式 |
| 参数 | 参数说明 |
| --------- | -------------------------- |
| -h/--help | 帮助信息。 |
| -d | 可选参数,`device id` |
| -a | 必选参数,`ability name` |
| -b | 必选参数,`bundle name` |
| -D | 可选参数,调试模式 |
**返回值:**
......@@ -77,18 +77,17 @@ Ability assistant(Ability助手,简称为aa)是实现应用、原子化服
| -a/--all | - | 打印所有mission内的Ability。 |
| -l/--mission-list | type(缺省打印全部) | 打印任务栈信息。<br />type:<br />NORMAL <br />DEFAULT_STANDARD<br />DEFAULT_SINGLE<br />LAUNCHER |
| -e/--extension | elementName | 打印扩展组件信息。 |
| -u/--userId | UserId | 打印指定UserId的栈信息,需要和其他参数组合使用,例如 aa dump -a -u 100、aa dump -d -u 100、 |
| -u/--userId | UserId | 打印指定UserId的栈信息,需要和其他参数组合使用,例如 `aa dump -a -u 100``aa dump -d -u 100` |
| -d/--data | | 打印Data Ability。 |
| -i/--ability | AbilityRecord ID | 打印指定Ability详细信息 |
| -c/--client | | 打印Ability详细信息,需要和其他参数组合使用,例如 aa dump -a -c、aa dump -i 21 -c、 |
| -c/--client | | 打印Ability详细信息,需要和其他参数组合使用,例如 `aa dump -a -c``aa dump -i 21 -c` |
**使用方法:**
```
aa dump -a
```
- **force-stop**
通过bundle name强制停止一个进程。
......
......@@ -2,7 +2,10 @@
​ Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件,一个应用可以包含一个或多个Ability。
​ Ability框架模型结构具有两种形态。第一种形态为FA模型,API 8及其更早版本的应用程序只能使用FA模型进行开发, FA模型将Ability分为FA(Feature Ability)和PA(Particle Ability)两种类型,其中FA支持Page Ability,PA支持Service Ability和Data Ability;从API9开始,Ability框架引入了Stage模型作为第二种应用形态,Stage模型将Ability分为PageAbility和ExtensionAbility两大类,其中ExtensionAbility又被扩展为ServiceExtensionAbility、FormExtensionAbility、DataShareExtensionAbility等等一系列ExtensionAbility,以便满足更多的使用场景。
​ Ability框架模型结构具有两种形态:
- 第一种形态为FA模型。API 8及其更早版本的应用程序只能使用FA模型进行开发。 FA模型将Ability分为FA(Feature Ability)和PA(Particle Ability)两种类型,其中FA支持Page Ability,PA支持Service Ability、Data Ability、以及FormAbility;
- 第二种形态为Stage模型。从API 9开始,Ability框架引入了Stage模型作为第二种应用形态,Stage模型将Ability分为PageAbility和ExtensionAbility两大类,其中ExtensionAbility又被扩展为ServiceExtensionAbility、FormExtensionAbility、DataShareExtensionAbility等等一系列ExtensionAbility,以便满足更多的使用场景。
​ Stage模型的设计,主要是为了方便开发者更加方便地开发出分布式环境下的复杂应用。下表给出了两种模型在设计上的差异:
......
......@@ -33,11 +33,11 @@ IDE文档中介绍,待IDE文档上库补充链接。
## TestRunner介绍
TestRunner是测试框架测试流程入口类,当测试流程启动时,系统会调用TestRunner内相关接口,开发者需要派生该类,并重写onPrepare、onRun方法。IDE在创建应用模板时会初始化一个默认TestRunner,并在onRun方法启动默认的TestAbility。开发者也可以修改TestAbility测试代码内容,也可以修改默认的TestRunner内onPrepare、onRun方法,自行实现测试代码。具体详细内容请参考TestRunnerAPI接口说明[TestRunner](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-testRunner.md)
TestRunner是测试框架测试流程入口类,当测试流程启动时,系统会调用TestRunner内相关接口,开发者需要派生该类,并重写onPrepare、onRun方法。IDE在创建应用模板时会初始化一个默认TestRunner,并在onRun方法启动默认的TestAbility。开发者也可以修改TestAbility测试代码内容,也可以修改默认的TestRunner内onPrepare、onRun方法,自行实现测试代码。具体详细内容请参考TestRunnerAPI接口说明[TestRunner](../reference/apis/js-apis-testRunner.md)
## AbilityMonitor介绍
AbilityMonitor是测试框架提供用来绑定并监听Ability类,开发者可以使用AbilityMonitor绑定Ability,并将AbilityMonitor添加到监听列表。绑定后Ability的创建、生命周期变化等会触发AbilityMonitor内相关回调函数,开发者可以在对应回调函数内进行测试验证。具体详细内容请参考AbilityMonitor API接口说明[AbilityMonitor](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-application-abilityMonitor.md)
AbilityMonitor是测试框架提供用来绑定并监听Ability类,开发者可以使用AbilityMonitor绑定Ability,并将AbilityMonitor添加到监听列表。绑定后Ability的创建、生命周期变化等会触发AbilityMonitor内相关回调函数,开发者可以在对应回调函数内进行测试验证。具体详细内容请参考AbilityMonitor API接口说明[AbilityMonitor](../reference/apis/js-apis-application-abilityMonitor.md)
**示例**
......@@ -112,7 +112,7 @@ abilityDelegator.startAbility(want, (err, data) => {
### 调度Ability生命周期
AbilityDelegator提供对Ability生命周期进行显示调度,支持Foreground、Background,配合AbilityMonitor中对Ability生命周期监听方法,可以完整的测试Ability生命周期变化。具体详细内容请参考AbilityDelegator API接口说明[AbilityDelegator](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-application-abilityDelegator.md#abilitydelegator)
AbilityDelegator提供对Ability生命周期进行显示调度,支持Foreground、Background,配合AbilityMonitor中对Ability生命周期监听方法,可以完整的测试Ability生命周期变化。具体详细内容请参考AbilityDelegator API接口说明[AbilityDelegator](../reference/apis/js-apis-application-abilityDelegator.md)
### 执行shellCMD命令
......
# FA模型综述
## 整体架构
OpenHarmony用户程序的开发本质上就是开发Ability,OpenHarmony系统也是通过调度Ability,通过系统提供的一致性调度契约对Ability进行生命周期管理,从而实现对用户程序的调度。FA模型中Ability分为PageAbility、ServiceAbility和DataAbility三种类型。其中PageAbility具备ArkUI的Ability,是用户具体可见并可以交互的Ability实例;ServiceAbility也是Ability一种,但是没有UI,提供其他Ability调用自定义的服务,在后台运行;DataAbility也是没有UI,提供其他Ability进行数据的增删查服务,在后台运行。
OpenHarmony用户程序的开发本质上就是开发Ability,OpenHarmony系统也是通过调度Ability,通过系统提供的一致性调度契约对Ability进行生命周期管理,从而实现对用户程序的调度。
Ability框架在API 8及更早版本使用FA模型。FA模型中Ability分为PageAbility、ServiceAbility、DataAbility、FormAbility几种类型。其中:
- PageAbility是具备ArkUI实现的Ability,是用户具体可见并可以交互的Ability实例;
- ServiceAbility也是Ability一种,但是没有UI,提供其他Ability调用自定义的服务,在后台运行;
- DataAbility也是没有UI的Ability,提供其他Ability进行数据的增删查服务,在后台运行;
- FormAbility是卡片Ability,是一种界面展示形式。
## 应用包结构
**应用包结构如下图所示:**
![fa-package-info](figures/fa-package-info.png)
应用包结构的配置请参见[包结构说明](../quick-start/package-structure.md)
## 生命周期
**pageAbility生命周期回调如下图所示:**
在所有Ability中,PageAbility因为具有界面,也是应用的交互入口,因此生命周期更加复杂。
**PageAbility生命周期回调如下图所示:**
![fa-pageAbility-lifecycle](figures/fa-pageAbility-lifecycle.png)
开发者可以在 app.js/app.ets 中重写生命周期函数,在对应的生命周期函数内处理应用相应逻辑。
其他类型Ability的生命周期可参考PageAbility生命周期去除前后台切换以及`onShow`的部分进行理解。
开发者可以在 `app.js/app.ets` 中重写生命周期函数,在对应的生命周期函数内处理应用相应逻辑。
## 进程线程模型
......
# DataAbility开发指导
## 场景介绍
基于Data模板的Ability(以下简称“Data”),有助于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法。Data既可用于同设备不同应用的数据共享,也支持跨设备不同应用的数据共享。
基于Data模板的Ability(以下简称“Data”)有助于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法。Data既可用于同设备不同应用的数据共享,也支持跨设备不同应用的数据共享。
Data提供方可以自定义数据的增、删、改、查,以及文件打开等功能,并对外提供这些接口。
......@@ -27,12 +27,11 @@ Data提供方可以自定义数据的增、删、改、查,以及文件打开
## 开发步骤
### 创建Data
1.需要实现Data中Insert,Query,Update,Delete接口的业务内容.保证能够满足数据库存储业务的基本需求.BatchInsert与ExecuteBatch接口已经在系统中实现遍历逻辑,依赖Insert,Query,Update,Delete接口逻辑,来实现数据的批量处理.
1. 需要实现Data中Insert、Query、Update、Delete接口的业务内容。保证能够满足数据库存储业务的基本需求。BatchInsert与ExecuteBatch接口已经在系统中实现遍历逻辑,依赖Insert、Query、Update、Delete接口逻辑,来实现数据的批量处理。
创建Data的代码示例如下:
创建Data的代码示例如下:
```javascript
export default {
```javascript
export default {
onInitialized(abilityInfo) {
console.info('DataAbility onInitialized, abilityInfo:' + abilityInfo.bundleName)
dataRdb.getRdbStore(STORE_CONFIG, 1, (err, store) => {
......@@ -73,23 +72,22 @@ export default {
let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates)
rdbStore.delete(rdbPredicates, callback)
}
};
```
};
```
2.子系统配置
2. 子系统配置
| Json重要字段 | 备注说明 |
| ------------- | ------------------------------------------------------------ |
| "name" | Ability名子,对应Ability派生的Data类名 |
| "type" | Ability类型,Data对应的Ability类型未"data" |
| "uri" | 通信使用的URI |
| "visible" | 对其他应用是否可见, 设置为true时, Data才能与其他应用进行通信传输数据 |
| Json重要字段 | 备注说明 |
| ------------ | ------------------------------------------------------------ |
| "name" | Ability名称,对应Ability派生的Data类名。 |
| "type" | Ability类型,Data对应的Ability类型为”data“。 |
| "uri" | 通信使用的URI。 |
| "visible" | 对其他应用是否可见,设置为true时,Data才能与其他应用进行通信传输数据。 |
**config.json配置样例**
**config.json配置样例**
```json
"abilities":[{
```json
"abilities":[{
"srcPath": "DataAbility",
"name": ".DataAbility",
"icon": "$media:icon",
......@@ -98,123 +96,139 @@ export default {
"type": "data",
"visible": true,
"uri": "dataability://ohos.samples.etsdataability.DataAbility"
}]
```
}]
```
### 访问Data
1.JS应用开发前准备
#### 开发前准备
需导入基础依赖包,以及获取与Data子模块通信的Uri字符串。
基础依赖包:
1. @ohos.ability.featureAbility
2. @ohos.data.dataability
3. @ohos.data.rdb
与Data子系统通信的Uri字符串
其中,基础依赖包包括:
- @ohos.ability.featureAbility
- @ohos.data.dataability
- @ohos.data.rdb
2.JS应用开发接口
#### DataAbility接口开发指导
工具接口类对象创建
```js
// 作为参数传递的Uri,与config中定义的Uri的区别是多了一个"/",是因为作为参数传递的uri中,在第二个与第三个"/"中间,存在一个DeviceID的参数
var urivar = "dataability:///com.ix.DataAbility"
var DAHelper = featureAbility.acquireDataAbilityHelper(
1. 创建工具接口类对象。
```js
// 作为参数传递的Uri,与config中定义的Uri的区别是多了一个"/",是因为作为参数传递的uri中,在第二个与第三个"/"中间,存在一个DeviceID的参数
var urivar = "dataability:///com.ix.DataAbility"
var DAHelper = featureAbility.acquireDataAbilityHelper(
urivar
);
```
数据库相关的rdb数据构建
```js
var valuesBucket = {"name": "gaolu"}
var da = new ohos_data_ability.DataAbilityPredicates()
var valArray =new Array("value1");
var cars = new Array({"batchInsert1" : "value1",});
```
向指定的Data子系统插入数据,inster调用
```js
// callbacke方式调用:
DAHelper.insert(
);
```
2. 构建数据库相关的rdb数据。
```js
var valuesBucket = {"name": "gaolu"}
var da = new ohos_data_ability.DataAbilityPredicates()
var valArray =new Array("value1");
var cars = new Array({"batchInsert1" : "value1",});
```
3. 调用insert方法向指定的Data子模块插入数据。
```js
// callback方式调用:
DAHelper.insert(
urivar,
valuesBucket,
(error, data) => {
expect(typeof(data)).assertEqual("number")
}
);
// promise方式调用:
var datainsert = await DAHelper.insert(
);
```
```js
// promise方式调用:
var datainsert = await DAHelper.insert(
urivar,
valuesBucket
);
```
删除Data子系统中指定的数据, delete调用
```js
// callbacke方式调用:
DAHelper.delete(
);
```
4. 调用delete方法删除Data子模块中指定的数据。
```js
// callback方式调用:
DAHelper.delete(
urivar,
da,
(error, data) => {
expect(typeof(data)).assertEqual("number")
}
);
// promise方式调用:
var datadelete = await DAHelper.delete(
);
```
```js
// promise方式调用:
var datadelete = await DAHelper.delete(
urivar,
da,
);
```
更新指定Data子系统中的数据, update调用
```js
// callbacke方式调用:
DAHelper.update(
);
```
5. 调用update方法更新指定Data子模块中的数据。
```js
// callback方式调用:
DAHelper.update(
urivar
valuesBucket,
da,
(error, data) => {
expect(typeof(data)).assertEqual("number")
}
);
// promise方式调用:
var dataupdate = await DAHelper.update(
);
```
```js
// promise方式调用:
var dataupdate = await DAHelper.update(
urivar,
valuesBucket,
da,
);
```
在指定的Data子系统中查找数据,query调用
```js
// callbacke方式调用:
DAHelper.query(
);
```
6. 调用query方法在指定的Data子模块中查找数据。
```js
// callback方式调用:
DAHelper.query(
urivar,
valArray,
da,
(error, data) => {
expect(typeof(data)).assertEqual("object")
}
);
// promise方式调用:
var dataquery = await DAHelper.query(
);
```
```js
// promise方式调用:
var dataquery = await DAHelper.query(
urivar,
valArray,
da
);
```
向指定的数据子系统批量插入数据,batchInsert调用
```js
// callbacke方式调用:
DAHelper.batchInsert(
);
```
7. 调用batchInsert方法向指定的数据子系统批量插入数据。
```js
// callback方式调用:
DAHelper.batchInsert(
urivar,
cars,
(error, data) => {
expect(typeof(data)).assertEqual("number")
}
);
// promise方式调用:
var databatchInsert = await DAHelper.batchInsert(
);
```
```js
// promise方式调用:
var databatchInsert = await DAHelper.batchInsert(
urivar,
cars
);
```
向指定的Data子系统进行数据的批量处理,executeBatch调用
```js
// callbacke方式调用:
DAHelper.executeBatch(
);
```
8. 调用executeBatch方法向指定的Data子模块进行数据的批量处理。
```js
// callbacke方式调用:
DAHelper.executeBatch(
urivar,
[
{
......@@ -230,9 +244,12 @@ DAHelper.executeBatch(
(error, data) => {
expect(typeof(data)).assertEqual("object")
}
);
// promise方式调用:
var dataexecuteBatch = await DAHelper.executeBatch(
);
```
```js
// promise方式调用:
var dataexecuteBatch = await DAHelper.executeBatch(
urivar,
[
{
......@@ -248,8 +265,8 @@ var dataexecuteBatch = await DAHelper.executeBatch(
interrupted:true,
}
]
);
```
);
```
## 开发实例
......
......@@ -24,10 +24,10 @@
FA卡片开发,即基于[FA模型](fa-brief.md)的卡片提供方开发,主要涉及如下功能逻辑:
- 卡片生命周期回调函数FormAbility开发
- 开发卡片生命周期回调函数FormAbility
- 创建卡片数据FormBindingData对象。
- 通过FormProvider更新卡片。
- 卡片页面开发
- 开发卡片页面
## 接口说明
......@@ -164,7 +164,7 @@ Form需要在应用配置文件config.json中进行配置。
| scheduledUpdateTime | 表示卡片的定点刷新的时刻,采用24小时制,精确到分钟。 | 字符串 | 可缺省,缺省值为“0:0”。 |
| updateDuration | 表示卡片定时刷新的更新周期,单位为30分钟,取值为自然数。<br />当取值为0时,表示该参数不生效。<br />当取值为正整数N时,表示刷新周期为30*N分钟。 | 数值 | 可缺省,缺省值为“0”。 |
| formConfigAbility | 表示用于调整卡片的设施或活动的名称。 | 字符串 | 可缺省,缺省值为空。 |
| formVisibleNotify | 标识是否允许卡片使用卡片可见性通知 | 字符串 | 可缺省,缺省值为空。 |
| formVisibleNotify | 标识是否允许卡片使用卡片可见性通知 | 字符串 | 可缺省,缺省值为空。 |
| jsComponentName | 表示JS卡片的Component名称。字符串最大长度为127字节。仅当卡片类型为JS卡片时,需要配置该标签。 | 字符串 | 否 |
| metaData | 表示卡片的自定义信息,包含customizeData数组标签。 | 对象 | 可缺省,缺省值为空。 |
| customizeData | 表示自定义的卡片信息。 | 对象数组 | 可缺省,缺省值为空。 |
......
......@@ -2,13 +2,13 @@
## 概述
### 功能简介
PageAbility是具备ArkUI的Ability,是用户具体可见并可以交互的Ability实例,开发者通过IDE创建Ability时,IDE会自动创建相关模板代码。PageAbility相关能力通过单例featureAbility暴露,生命周期相关回调通过app.js/app.ets中回调函数暴露。
PageAbility是具备ArkUI实现的Ability,是开发者具体可见并可以交互的Ability实例,开发者通过IDE创建Ability时,IDE会自动创建相关模板代码。PageAbility相关能力通过单例featureAbility暴露,生命周期相关回调通过app.js/app.ets中回调函数暴露。
### PageAbility的生命周期
**Ability生命周期介绍**(Ability Life Cycle)是Ability被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称(主要涉及PageAbility类型和ServiceAbility类型的Ability)。
**Ability生命周期介绍**(Ability Life Cycle)
**PageAbility生命周期流转如下图所示**
Ability生命周期是Ability被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称。PageAbility生命周期流转如下图所示:
![PageAbility-Lifecycle](figures/page-ability-lifecycle.png)
......@@ -23,13 +23,13 @@ PageAbility是具备ArkUI的Ability,是用户具体可见并可以交互的Abi
- **ACTIVE**:前台激活状态,表示当前窗口已显示,并获取焦点。
- **BACKGROUND**: 后台状态,表示当前Ability退到后台,Ability在被销毁后由BACKGROUND状态进入INITIAL状态,或者重新被激活后由BACKGROUND状态进入ACTIVE状态。
- **BACKGROUND**后台状态,表示当前Ability退到后台,Ability在被销毁后由BACKGROUND状态进入INITIAL状态,或者重新被激活后由BACKGROUND状态进入ACTIVE状态。
**PageAbility生命周期回调如下图所示:**
**PageAbility生命周期回调与生命周期状态的关系如下图所示:**
![fa-pageAbility-lifecycle](figures/fa-pageAbility-lifecycle.png)
PageAbility提供命周期回调,开发者可以在 app.js/app.ets 中重写生相关命周期函数 。
PageAbility提供命周期回调,开发者可以在`app.js/app.ets`中重写生命周期相关回调函数 。
## 开发指导
### featureAbility接口说明
......@@ -46,16 +46,17 @@ PageAbility提供命周期回调,开发者可以在 app.js/app.ets 中重写
### 启动本地PageAbility
* 导入模块
**导入模块**
```js
import featureAbility from '@ohos.ability.featureAbility'
```
import featureAbility from '@ohos.ability.featureAbility'
```
* 示例
**示例**
```javascript
import featureAbility from '@ohos.ability.featureAbility'
featureAbility.startAbility({
import featureAbility from '@ohos.ability.featureAbility'
featureAbility.startAbility({
want:
{
action: "",
......@@ -94,14 +95,16 @@ featureAbility.startAbility({
abilityName: "com.example.startability.MainAbility",
uri: ""
},
},
);
},
);
```
want参数也可以使用parameters参数,使用key-value的方式输入。
* 示例
`want`参数也可以使用parameters参数,使用key-value的方式输入。
**示例**
```javascript
import featureAbility from '@ohos.ability.featureAbility'
featureAbility.startAbility({
import featureAbility from '@ohos.ability.featureAbility'
featureAbility.startAbility({
want:
{
bundleName: "com.example.startability",
......@@ -110,22 +113,22 @@ featureAbility.startAbility({
abilityName: "com.example.startability.MainAbility"
}
},
},
);
},
);
```
### 启动远程PageAbility(当前仅对系统应用开放)
>说明:由于DeviceManager的getTrustedDeviceListSync接口仅对系统应用开放,当前启动远程PageAbility仅支持系统应用
* 导入模块
**导入模块**
```
import featureAbility from '@ohos.ability.featureAbility'
import deviceManager from '@ohos.distributedHardware.deviceManager';
import featureAbility from '@ohos.ability.featureAbility'
import deviceManager from '@ohos.distributedHardware.deviceManager';
```
* 示例
**示例**
```ts
function onStartRemoteAbility() {
function onStartRemoteAbility() {
console.info('onStartRemoteAbility begin');
var params;
var wantValue = {
......@@ -141,13 +144,14 @@ function onStartRemoteAbility() {
console.info('onStartRemoteAbility finished, ' + JSON.stringify(data));
});
console.info('onStartRemoteAbility end');
}
}
```
从DeviceManager获取deviceId,具体示例代码如下:
从DeviceManager获取`deviceId`,具体示例代码如下:
```ts
import deviceManager from '@ohos.distributedHardware.deviceManager';
var dmClass;
function getRemoteDeviceId() {
import deviceManager from '@ohos.distributedHardware.deviceManager';
var dmClass;
function getRemoteDeviceId() {
if (typeof dmClass === 'object' && dmClass != null) {
var list = dmClass.getTrustedDeviceListSync();
if (typeof (list) == 'undefined' || typeof (list.length) == 'undefined') {
......@@ -159,13 +163,14 @@ function getRemoteDeviceId() {
} else {
console.log("MainAbility onButtonClick getRemoteDeviceId err: dmClass is null");
}
}
}
```
在跨设备场景下,需要向用户申请数据同步的权限。具体示例代码如下:
在跨设备场景下,需要向开发者申请数据同步的权限。具体示例代码如下:
```ts
import accessControl from "@ohos.abilityAccessCtrl";
import bundle from '@ohos.bundle';
async function RequestPermission() {
import accessControl from "@ohos.abilityAccessCtrl";
import bundle from '@ohos.bundle';
async function RequestPermission() {
console.info('RequestPermission begin');
let array: Array<string> = ["ohos.permission.DISTRIBUTED_DATASYNC"];
var bundleFlag = 0;
......@@ -195,22 +200,24 @@ async function RequestPermission() {
console.info("data authResults:" + data.authResults);
});
console.info('RequestPermission end');
}
}
```
### 生命周期接口说明
**表2** 生命周期回调函数介绍
| 接口名 | 描述 |
| ------------ | ------------------------------------------------------------ |
| onShow() | Ability由后台不可见状态切换到前台可见状态调用onShow方法,此时用户在屏幕可以看到该Ability |
| onHide() | Ability由前台切换到后台不可见状态时调用onHide方法,此时用户在屏幕看不到该Ability。 |
| onShow() | Ability由后台不可见状态切换到前台可见状态调用onShow方法,此时开发者在屏幕可以看到该Ability |
| onHide() | Ability由前台切换到后台不可见状态时调用onHide方法,此时开发者在屏幕看不到该Ability。 |
| onDestroy() | 应用退出,销毁Ability对象前调用onDestroy方法,开发者可以在该方法里做一些回收资源、清空缓存等应用退出前的准备工作。 |
| onCreate() | Ability第一次启动创建Ability时调用onCreate方法,开发者可以在该方法里做一些应用初始化工作。 |
| onInactive() | Ability失去焦点时调用onInactive方法,Ability在进入后台状态时会先失去焦点,再进入后台。 |
| onActive() | Ability切换到前台,并且已经获取焦点时调用onActive方法。 |
* 示例
开发者需要重写app.js/app.ets 中相关生命周期回调函数,IDE模板默认生成onCreate()和onDestroy()方法,其他方法需要开发者自行实现。
**示例**
开发者需要重写`app.js/app.ets`中相关生命周期回调函数,IDE模板默认生成`onCreate()``onDestroy()`方法,其他方法需要开发者自行实现。
```javascript
export default {
onCreate() {
......@@ -236,6 +243,6 @@ export default {
### 开发实例
针对pageAbility开发,有以下示例工程可供参考:
- [DMS](https://gitee.com/openharmony/app_samples/tree/master/ability/DMS)
[DMS](https://gitee.com/openharmony/app_samples/tree/master/ability/DMS)
在本示例中完整展示了启动本地Ability、启动远程Ability的使用方法。
\ No newline at end of file
......@@ -16,13 +16,12 @@
## 开发步骤
### 创建Service<a name="section17436202895812"></a>
1.Service也是一种Ability,Ability为Service提供了以下生命周期方法,开发者可以重写这些方法,来添加其他Ability请求与Service Ability交互时的处理方法。
### 创建Service
1. Service也是一种Ability,Ability为Service提供了以下生命周期方法,开发者可以重写这些方法,来添加其他Ability请求与Service Ability交互时的处理方法。
创建Service的代码示例如下:
```javascript
export default {
onStart(want) {
......@@ -43,11 +42,11 @@
}
```
2.注册Service。
2. 注册Service。
Service也需要在应用配置文件config.json中进行注册,注册类型type需要设置为service。
```javascript
Service也需要在应用配置文件config.json中进行注册,注册类型type需要设置为service。
```javascript
{
"module": {
"abilities": [
......@@ -62,13 +61,11 @@
}
...
}
```
```
### 启动Service<a name="section944219415599"></a>
### 启动Service
Ability为开发者提供了startAbility()方法来启动另外一个Ability。因为Service也是Ability的一种,开发者同样可以通过将Want传递给该方法来启动Service。
......@@ -92,9 +89,9 @@ var promise = await featureAbility.startAbility(
);
```
- 执行上述代码后,Ability将通过startAbility() 方法来启动Service。
- 如果Service尚未运行,则系统会先调用onStart()来初始化Service,再回调Service的onCommand()方法来启动Service。
- 如果Service正在运行,则系统会直接回调Service的onCommand()方法来启动Service。
执行上述代码后,Ability将通过startAbility() 方法来启动Service。
- 如果Service尚未运行,则系统会先调用onStart()来初始化Service,再回调Service的onCommand()方法来启动Service。
- 如果Service正在运行,则系统会直接回调Service的onCommand()方法来启动Service。
......@@ -104,7 +101,7 @@ var promise = await featureAbility.startAbility(
### 连接本地Service<a name="section126857614018"></a>
### 连接本地Service
如果Service需要与Page Ability或其他应用的Service Ability进行交互,则须创建用于连接的Connection。Service支持其他Ability通过connectAbility()方法与其进行连接。
......
......@@ -40,7 +40,7 @@
* 配置应用启动类型
迁移当前只支持多实例应用,需要在在module.json5中配置launchType字段为standard
迁移当前只支持多实例应用,需要在在module.json5中配置launchType字段为standard
```javascript
"launchType": "standard"
......@@ -59,7 +59,7 @@
},
```
这个权限需要在应用首次启动的时候弹窗让用户授予,可以通过在ability的onWindowStageCreate中添加如下代码实现
这个权限需要在应用首次启动的时候弹窗让用户授予,可以通过在ability的onWindowStageCreate中添加如下代码实现
```javascript
requestPermissions = async () => {
......
......@@ -11,7 +11,7 @@ Stage模型是基于API version 9的应用开发模型,对此模型的介绍
- 应用迁移,详见[应用迁移开发指导](stage-ability-continuation.md)
## 接口说明
AbilityStage功能如下:AbilityStage类,拥有context属性,具体的API详见[接口文档](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-application-abilitystage.md)
AbilityStage功能如下(AbilityStage类,拥有context属性,具体的API详见[接口文档](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-application-abilitystage.md)):
**表1** AbilityStage API接口功能介绍
|接口名|描述|
......@@ -20,7 +20,7 @@ AbilityStage功能如下:AbilityStage类,拥有context属性,具体的API
|string onAcceptWant(want: Want)|启动指定Ability时被调用。|
|void onConfigurationUpdated(config: Configuration)|全局配置发生变更时被调用。|
Ability功能如下:Ability类,具体的API详见[接口文档](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-application-ability.md)
Ability功能如下(bility类,具体的API详见[接口文档](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-application-ability.md)):
**表2** Ability API接口功能介绍
|接口名|描述|
......@@ -53,57 +53,58 @@ Ability类拥有context属性,context属性为AbilityContext类,AbilityConte
## 开发步骤
### 创建Page Ability应用
创建Stage模型的Page Ability应用,需实现AbilityStage接口及Ability生命周期接口,并使用窗口提供的方法设置页面。具体示例代码如下:
1. 导入AbilityStage模块
```
import AbilityStage from "@ohos.application.AbilityStage"
```
2. 实现AbilityStage接口
```ts
export default class MyAbilityStage extends AbilityStage {
1. 导入AbilityStage模块
```
import AbilityStage from "@ohos.application.AbilityStage"
```
2. 实现AbilityStage接口
```ts
export default class MyAbilityStage extends AbilityStage {
onCreate() {
console.log("MyAbilityStage onCreate")
}
}
```
3. 导入Ability模块
```
import Ability from '@ohos.application.Ability'
```
4. 实现Ability生命周期接口
`onWindowStageCreate(windowStage)`中通过loadContent接口设置应用要加载的页面,window接口的使用详见[窗口开发指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/windowmanager/window-guidelines.md/)
```ts
export default class MainAbility extends Ability {
}
```
3. 导入Ability模块。
```js
import Ability from '@ohos.application.Ability'
```
4. 实现Ability生命周期接口。
`onWindowStageCreate(windowStage)`中通过loadContent接口设置应用要加载的页面,window接口的使用详见[窗口开发指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/windowmanager/window-guidelines.md/)
```ts
export default class MainAbility extends Ability {
onCreate(want, launchParam) {
console.log("MainAbility onCreate")
}
onDestroy() {
console.log("MainAbility onDestroy")
}
onWindowStageCreate(windowStage) {
console.log("MainAbility onWindowStageCreate")
windowStage.loadContent("pages/index").then((data) => {
console.log("MainAbility load content succeed with data: " + JSON.stringify(data))
}).catch((error) => {
console.error("MainAbility load content failed with error: "+ JSON.stringify(error))
})
}
onWindowStageDestroy() {
console.log("MainAbility onWindowStageDestroy")
}
onForeground() {
console.log("MainAbility onForeground")
}
onBackground() {
console.log("MainAbility onBackground")
}
}
```
}
```
### 获取AbilityStage及Ability的配置信息
AbilityStage类及Ability类均拥有context属性,应用可以通过`this.context`获取Ability实例的上下文,进而获取详细的配置信息。如下示例展示了AbilityStage通过context属性获取包代码路径、hap包名、ability名以及系统语言的方法。具体示例代码如下:
```ts
......
......@@ -26,7 +26,8 @@ Caller及Callee功能如下:具体的API详见[接口文档](https://gitee.com
### 创建Callee被调用端
Callee被调用端,需要实现指定方法的数据接收回调函数、数据的序列化及反序列化方法。在需要接收数据期间,通过on接口注册监听,无需接收数据时通过off接口解除监听。
1. 配置Ability的启动模式
配置module.json5,将Callee被调用端所在的Ability配置为单实例"singleton"。
配置module.json5,将Callee被调用端所在的Ability配置为单实例"singleton"。
|Json字段|字段说明|
|:------|:------|
......@@ -49,7 +50,8 @@ Ability配置标签示例如下:
import Ability from '@ohos.application.Ability'
```
3. 定义约定的序列化数据
调用端及被调用端发送接收的数据格式需协商一致,如下示例约定数据由number和string组成。具体示例代码如下:
调用端及被调用端发送接收的数据格式需协商一致,如下示例约定数据由number和string组成。具体示例代码如下:
```ts
export class MySequenceable {
num: number = 0
......@@ -74,7 +76,8 @@ export class MySequenceable {
}
```
4. 实现Callee.on监听及Callee.off解除监听
被调用端Callee的监听函数注册时机, 取决于应用开发者。注册监听之前的数据不会被处理,取消监听之后的数据不会被处理。如下示例在Ability的onCreate注册'CalleeSortMethod'监听,在onDestroy取消监听,收到序列化数据后对字符串排序后返回,应用开发者根据实际需要做相应处理。具体示例代码如下:
被调用端Callee的监听函数注册时机, 取决于应用开发者。注册监听之前的数据不会被处理,取消监听之后的数据不会被处理。如下示例在Ability的onCreate注册'CalleeSortMethod'监听,在onDestroy取消监听,收到序列化数据后对字符串排序后返回,应用开发者根据实际需要做相应处理。具体示例代码如下:
```ts
let TAG = '[CalleeAbility] '
let method = 'CalleeSortMethod'
......@@ -111,7 +114,8 @@ export default class CalleeAbility extends Ability {
import Ability from '@ohos.application.Ability'
```
2. 获取Caller通信接口
Ability的context属性实现了startAbilityByCall方法,用于获取指定通用组件的Caller通信接口。如下示例通过`this.context`获取Ability实例的context属性,使用startAbilityByCall拉起Callee被调用端并获取Caller通信接口,注册Caller的onRelease监听。应用开发者根据实际需要做相应处理。具体示例代码如下:
Ability的context属性实现了startAbilityByCall方法,用于获取指定通用组件的Caller通信接口。如下示例通过`this.context`获取Ability实例的context属性,使用startAbilityByCall拉起Callee被调用端并获取Caller通信接口,注册Caller的onRelease监听。应用开发者根据实际需要做相应处理。具体示例代码如下:
```ts
let TAG = '[MainAbility] '
var caller = undefined
......
# WantAgent开发指导
\ No newline at end of file
# WantAgent开发指导
### 简介
wantAgent封装了一个指定行为的意图,可以通过wantAgent.trigger接口主动触发,也可以通过与通知绑定被动触发。
具体的行为包括:启动ability和发布公共事件。
### 场景介绍
通过wantAgent,拉起另外一个ability
### 接口说明
| 接口名 | 接口描述 |
| ---------------------------------------------------------------------------------------------- | ----------- |
| wantAgent.getWantAgentInfo(info: WantAgentInfo, callback: AsyncCallback\<WantAgent\>) | 创建wantAgent对象(callback) |
| wantAgent.getWantAgent(info: WantAgentInfo): Promise\<WantAgent\>; | 创建wantAgent对象(promise) |
| commonEvent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\<CompleteData\>) | 触发wantAgent |
### 开发步骤
1. 导入WantAgent模块。
```javascript
import wantAgent from '@ohos.wantAgent';
```
2. 创建WantAgentInfo信息,详细的WantAgentInfo信息数据类型及包含的参数请见[WantAgentInfo文档](../reference/apis/js-apis-wantAgent.md#WantAgentInfo)介绍。
```javascript
private wantAgentObj = null //用于保存创建成功的wantAgent对象,后续使用其完成触发的动作
//wantAgentInfo
var wantAgentInfo = {
wants: [
{
deviceId: "",
bundleName: "com.example.test",
abilityName: "com.example.test.MainAbility",
action: "",
entities: [],
uri: "",
parameters: {}
}
],
operationType: OperationType.START_ABILITIE,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.CONSTANT_FLAG]
}
```
3. 创建wantAgent,保存返回的wantAgent对象wantAgentObj,用于执行后续触发操作。
```javascript
//创建wantAgent
wantAgent.getWantAgent(wantAgentInfo, (err, wantAgentObj) => {
if (err.code) {
console.error("[WantAgent]getWantAgent err=" + JSON.stringify(err))
} else {
console.log("[WantAgent]getWantAgent success")
this.wantAgentObj = wantAgentObj
}
})
```
4. 触发wantAgent
```
//触发wantAgent
var triggerInfo = {
code:0
}
wantAgent.trigger(wantAgentObj, triggerInfo, (err, completeData) => {
if (err.code) {
console.error("[WantAgent]trigger err=" + JSON.stringify(err))
} else {
console.log("[WantAgent]getWantAgent success, completeData: ", + JSON.stringify(completeData))
}
})
```
\ No newline at end of file
......@@ -6,11 +6,11 @@
### 入门
[入门部分](quick-start/Readme-CN.md)可以帮助开发者了解应用开发的基本方法。
[入门部分](quick-start/Readme-CN.md)可以帮助开发者了解应用开发的基本方法。
这一部分包含了IDE工具DevEco Studio的基本使用方法,以及快速构建首个应用的快速入门。
此外,还在此部分详述了OpenHarmony应用的包结构,以及资源文件的使用指导。
此外,还在此部分详述了OpenHarmony应用程序的包结构,以及资源文件的使用指导。
### 开发
......@@ -21,7 +21,7 @@
- 应用程序的框架:[Ability开发](ability/Readme-CN.md)
- UI的框架:[UI开发](ui/Readme-CN.md)
所有应用都应该在这两个框架下填充和完善功能内容
所有应用都应该在这两个框架的基础之上进行功能的开发
在此基础上,还提供了如下功能的开发指导:
- [窗口管理](windowmanager/Readme-CN.md)
......
......@@ -97,7 +97,7 @@
以下为监听对象数据变更的代码示例。
```js
changeCallback : function (sessionId, changeData) {
function changeCallback(sessionId, changeData) {
console.info("change" + sessionId);
if (changeData != null && changeData != undefined) {
......@@ -147,7 +147,7 @@
8. 监听分布式对象的上下线。可以监听对端分布式数据对象的上下线。
以下为访问对象的代码示例:
```js
statusCallback : function (sessionId, networkid, status) {
function statusCallback(sessionId, networkid, status) {
this.response += "status changed " + sessionId + " " + status + " " + networkId;
}
......
......@@ -248,7 +248,7 @@
promise.then(() => {
console.info("setDistributedTables success.")
}).catch((err) => {
console.info("setDistributedTables failed."")
console.info("setDistributedTables failed.")
})
```
......@@ -263,7 +263,7 @@
let predicate = new data_rdb.RdbPredicates('test')
predicate.inDevices(['12345678abcde'])
let promise = rdbStore.sync(rdb.SyncMode.SYNC_MODE_PUSH, predicate)
promise.then(result) {
promise.then((result) => {
console.log('sync done.')
for (let i = 0; i < result.length; i++) {
console.log('device=' + result[i][0] + ' status=' + result[i][1])
......
......@@ -11,5 +11,5 @@
- [传感器开发概述](sensor-overview.md)
- [传感器开发指导](sensor-guidelines.md)
- 振动
- [振动开发概述](vibrator-guidelines.md)
- [振动开发概述](vibrator-overview.md)
- [振动开发指导](vibrator-guidelines.md)
......@@ -9,6 +9,7 @@
Vibrator属于控制类小器件,主要包含以下四个模块:Vibrator API,Vibrator Framework,Vibrator Service和HD_IDL层。
**图1** 控制类小器件中的Vibrator
![zh-cn_image_0000001180249428](figures/zh-cn_image_0000001180249428.png)
- Vibrator API:提供振动器基础的API,主要包含振动器的列表查询,振动器的振动器效果查询,触发/关闭振动器等接口。
......
......@@ -20,6 +20,19 @@
2. 三方应用把surfaceID传递给VideoPlayer JS。
3. 媒体服务把帧数据flush给surface buffer。
## 兼容性说明
推荐使用视频软件主流的播放格式和主流分辨率,不建议开发者自制非常或者异常码流,以免产生无法播放、卡住、花屏等兼容性问题。若发生此类问题不会影响系统,退出码流播放即可。
主流的播放格式和主流分辨率如下:
| 视频容器规格 | 规格描述 | 分辨率 |
| :----------: | :-----------------------------------------------: | :--------------------------------: |
| mp4 | 视频格式:H264/MPEG2/MPEG4/H263 音频格式:AAC/MP3 | 主流分辨率,如1080P/720P/480P/270P |
| mkv | 视频格式:H264/MPEG2/MPEG4/H263 音频格式:AAC/MP3 | 主流分辨率,如1080P/720P/480P/270P |
| ts | 视频格式:H264/MPEG2/MPEG4 音频格式:AAC/MP3 | 主流分辨率,如1080P/720P/480P/270P |
| webm | 视频格式:VP8 音频格式:VORBIS | 主流分辨率,如1080P/720P/480P/270P |
## 开发步骤
详细API含义可参考:[js-apis-media.md](../reference/apis/js-apis-media.md)
......
......@@ -161,20 +161,20 @@ default、phone、tablet、tv、car、wearable、liteWearble等对象的内部
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------- | -------------------------------- | -------- | ------------------------------ |
| reqVersion | 支持应用的maple版本号。参考表8。 | 对象 | 不可缺省 |
| flag | 指定maple应用程序的类型 | 字符串 | 不可缺省且只能为"m","mo","z" |
| flag | 指定maple应用程序的类型 | 字符串 | 不可缺省且只能为"m","mo","z" |
表8 reqVersion对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------- | -------------------------------------------------------- | -------- | ---------- |
| compatible | 表示支持应用程序的最低maple版本,采用32位无符号整形表示。 | 整数 | 不可缺省 |
| target | 指定maple应用程序的类型,采用32位无符号整形表示。 | 整数 | 不可缺省 |
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------- | --------------------------------------------------------- | -------- | ---------- |
| compatible | 表示支持应用程序的最低maple版本采用32位无符号整形表示。 | 整数 | 不可缺省 |
| target | 指定maple应用程序的类型采用32位无符号整形表示。 | 整数 | 不可缺省 |
表9 network对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------------- | ------------------------------------------------------------ | -------- | ----------------------- |
| cleartextTraffic | 表示是否允许应用使用明文网络流量(例如,明文HTTP)<br /> true:允许应用使用明文流量请求。<br /> false:拒绝应用使用明文流量的请求。 | 布尔值 | 可缺省,缺省值为"false" |
| cleartextTraffic | 表示是否允许应用使用明文网络流量(例如,明文HTTP)<br /> true:允许应用使用明文流量请求。<br /> false:拒绝应用使用明文流量的请求。 | 布尔值 | 可缺省,缺省值为"false" |
| securityConfig | 表示应用的网络安全配置信息。参考表10。 | 对象 | 可缺省,缺省为空 |
表10 securityConfig对象的内部结构说明
......@@ -182,8 +182,8 @@ default、phone、tablet、tv、car、wearable、liteWearble等对象的内部
| 属性名称 | 子属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------------- | ------------------ | ------------------------------------------------------------ | -------- | ---------------- |
| domainSettings | - | 表示自定义的网域范围的安全配置,支持多层嵌套,即一个domainSettings对象中允许嵌套更小网域范围的domainSettings对象。 | 对象类型 | 可缺省,缺省为空 |
| | cleartextPermitted | 表示自定义的网域范围内是否允许明文流量传输。当cleartextTraffic和security同时存在时,自定义网域是否允许明文流量传输以cleartextPermitted的取值为准。<br />true:允许明文流量传输。<br />false:拒绝明文流量传输 | 布尔类型 | 否 |
| | domains | 表示域名配置信息,包含两个参数:subdomains和name。<br /> subdomains(布尔类型):表示是否包含子域名。如果为"true",此网域规则将与相应网域及所有子网域(包括子网域的子网域)匹配。否则,该规则仅适用于精确匹配项。<br /> name(字符串):表示域名名称 | 对象数组 | 否 |
| | cleartextPermitted | 表示自定义的网域范围内是否允许明文流量传输。当cleartextTraffic和security同时存在时,自定义网域是否允许明文流量传输以cleartextPermitted的取值为准。<br />true:允许明文流量传输。<br />false:拒绝明文流量传输 | 布尔类型 | 否 |
| | domains | 表示域名配置信息,包含两个参数:subdomains和name。<br /> subdomains(布尔类型):表示是否包含子域名。如果为"true",此网域规则将与相应网域及所有子网域(包括子网域的子网域)匹配。否则,该规则仅适用于精确匹配项。<br /> name(字符串):表示域名名称 | 对象数组 | 否 |
deviceConfig示例:
......@@ -235,7 +235,7 @@ module对象包含HAP包的配置信息,内部结构说明参见表11。
| reqCapabilities | 表示运行应用程序所需的设备能力 | 字符串数组 | 可缺省,缺省为空 |
| commonEvents | 静态广播,参考表35。 | 对象数组 | 可缺省,缺省为空 |
| allowClassMap | HAP的元信息。标记值为true或false。如果标记值为true,则hap使用OpenHarmony框架提供的Java对象代理机制。默认值为false。 | 布尔值 | 不可缺省,缺省值为false |
| entryTheme | 此标签表示OpenHarmony内部主题的关键字。将标记值设置为名称的资源索引 | 字符串 | 可缺省,缺省值为空 |
| entryTheme | 此标签表示OpenHarmony内部主题的关键字。将标记值设置为名称的资源索引 | 字符串 | 可缺省,缺省值为空 |
module示例:
......
......@@ -798,7 +798,7 @@ getAllAccessibleAccounts(callback: AsyncCallback&lt;Array&lt;AppAccountInfo&gt;&
获取全部应用已授权帐号信息。
**需要权限:** ohos.permission.GET_ACCOUNTS_PRIVILEGED,仅系统应用可用。
**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。
**系统能力:** SystemCapability.Account.AppAccount
......@@ -824,7 +824,7 @@ getAllAccessibleAccounts(): Promise&lt;Array&lt;AppAccountInfo&gt;&gt;
获取全部应用已授权帐号信息。
**需要权限:** ohos.permission.GET_ACCOUNTS_PRIVILEGED,仅系统应用可用。
**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。
**系统能力:** SystemCapability.Account.AppAccount
......@@ -851,7 +851,7 @@ getAllAccounts(owner: string, callback: AsyncCallback&lt;Array&lt;AppAccountInfo
获取指定应用全部帐号信息。
**需要权限:** ohos.permission.GET_ACCOUNTS_PRIVILEGED,仅系统应用可用。
**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。
**系统能力:** SystemCapability.Account.AppAccount
......@@ -879,7 +879,7 @@ getAllAccounts(owner: string): Promise&lt;Array&lt;AppAccountInfo&gt;&gt;
获取指定应用全部帐号信息。
**需要权限:** ohos.permission.GET_ACCOUNTS_PRIVILEGED,仅系统应用可用。
**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。
**系统能力:** SystemCapability.Account.AppAccount
......
# MissionInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Ability对应的任务信息。
## 导入模块
```
import Want from '@ohos.application.Want';
```
## MissionInfo
表示Ability对应任务信息的枚举。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| missionId | number | 是 | 是 | 表示任务ID。|
| runningState | number | 是 | 是 | 表示运行状态。 |
| lockedState | boolean | 是 | 是 | 表示锁定状态。 |
| timestamp | string | 是 | 是 | 表示任务的最近创建或更新时间。 |
| want | [Want](js-apis-featureAbility.md#want) | 是 | 是 | 表示任务的Want信息。 |
| label | string | 是 | 是 | 表示任务的标签。 |
| iconPath | string | 是 | 是 | 表示任务的图标路径。 |
| continuable | boolean | 是 | 是 | 表示任务是否可以继续。 |
......@@ -97,7 +97,7 @@ update(options: AnimatorOptions): void
**示例:**
```
animator.update(options)
animator.update(options);
```
### play
......@@ -110,7 +110,7 @@ play(): void
**示例:**
```
animator.play()
animator.play();
```
### finish
......@@ -123,7 +123,7 @@ finish(): void
**示例:**
```
animator.finish()
animator.finish();
```
### pause
......@@ -136,7 +136,7 @@ pause(): void
**示例:**
```
animator.pause()
animator.pause();
```
### cancel
......@@ -149,7 +149,7 @@ cancel(): void
**示例:**
```
animator.cancel()
animator.cancel();
```
### reverse
......@@ -162,7 +162,7 @@ reverse(): void
**示例:**
```
animator.reverse()
animator.reverse();
```
### onframe
......@@ -180,7 +180,7 @@ onframe: (progress: number) => void
**示例:**
```
animator.onframe()
animator.onframe();
```
### onfinish
......@@ -193,7 +193,7 @@ onfinish: () => void
**示例:**
```
animator.onfinish()
animator.onfinish();
```
### oncancel
......@@ -206,7 +206,7 @@ oncancel: () => void
**示例:**
```
animator.oncancel()
animator.oncancel();
```
### onrepeat
......@@ -217,7 +217,7 @@ onrepeat: () => void
**示例:**
```
animator.onrepeat()
animator.onrepeat();
```
动画将重复。
......
......@@ -2,7 +2,8 @@
>![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
>- 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>- 此接口为系统接口,三方应用不支持调用,当前只支持filepicker调用。
>- 本模块接口为系统接口,三方应用不支持调用,当前只支持filepicker调用。
## 导入模块
```js
......
......@@ -61,6 +61,12 @@ SystemCapability.Ability.Form
| formId | string | 是 | 卡片标识 |
| minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5 |
**返回值:**
| 类型 | 说明 |
| ------------- | ---------------------------------- |
| Promise\<void> |Promise实例,用于获取异步返回结果。 |
**示例:**
```js
......@@ -118,6 +124,12 @@ SystemCapability.Ability.Form
| formId | string | 是 | 请求更新的卡片标识 |
| formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 用于更新的数据 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------------------- |
| Promise\<void> | Promise实例,用于获取异步返回结果。 |
**示例:**
```js
......
......@@ -102,7 +102,7 @@ getDevice(deviceId: number, callback: AsyncCallback&lt;InputDeviceData&gt;): voi
```
export default {
InputDeviceData {
InputDeviceData: {
deviceId : 0,
name : "NA",
sources : Array,
......@@ -138,7 +138,7 @@ function getDevice(deviceId: number): Promise<InputDeviceData>
```
export default {
InputDeviceData {
InputDeviceData: {
deviceId : 0,
name : "NA",
sources : Array,
......
......@@ -80,16 +80,18 @@ off(type: 'change', callback?: Callback&lt;MediaQueryResult&gt;): void
- 示例
```
listener = mediaquery.matchMediaSync('(orientation: landscape)'); //监听横屏事件
onPortrait(mediaQueryResult) {
if (mediaQueryResult.matches) {
// do something here
} else {
// do something here
}
}
listener.on('change', onPortrait) // 注册回调
listener.off('change', onPortrait) // 去注册回调
import mediaquery from '@ohos.mediaquery'
let listener = mediaquery.matchMediaSync('(orientation: landscape)'); //监听横屏事件
function onPortrait(mediaQueryResult) {
if (mediaQueryResult.matches) {
// do something here
} else {
// do something here
}
}
this.listener.on('change', this.onPortrait) // 注册回调
this.listener.off('change', this.onPortrait) // 去注册回调
```
......@@ -140,6 +142,4 @@ struct MediaQueryExample {
.width('100%').height('100%')
}
}
```
![zh-cn_image_0000001174422920](figures/zh-cn_image_0000001174422920.gif)
```
\ No newline at end of file
......@@ -98,6 +98,12 @@ unregisterMissionListener(listenerId: number): Promise&lt;void&gt;;
| -------- | -------- | -------- | -------- |
| listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
......@@ -168,7 +174,7 @@ getMissionInfo(deviceId: string, missionId: number): Promise&lt;MissionInfo&gt;;
| 类型 | 说明 |
| -------- | -------- |
| [MissionInfo](js-apis-application-MissionInfo.md) | 任务信息。 |
| Promise&lt;[MissionInfo](js-apis-application-MissionInfo.md)&gt; | 任务信息。 |
**示例:**
......@@ -362,6 +368,12 @@ lockMission(missionId: number): Promise&lt;void&gt;;
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
......@@ -427,6 +439,12 @@ unlockMission(missionId: number): Promise&lt;void&gt;;
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
......@@ -495,6 +513,12 @@ clearMission(missionId: number): Promise&lt;void&gt;;
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
......@@ -540,6 +564,12 @@ clearAllMissions(): Promise&lt;void&gt;;
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
......@@ -632,6 +662,12 @@ moveMissionToFront(missionId: number, options?: StartOptions): Promise&lt;void&g
| missionId | number | 是 | 任务ID。 |
| options | StartOptions | 否 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
......@@ -648,3 +684,20 @@ moveMissionToFront(missionId: number, options?: StartOptions): Promise&lt;void&g
console.log(err);
});
```
## MissionInfo
表示Ability对应任务信息的枚举。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| missionId | number | 是 | 是 | 表示任务ID。|
| runningState | number | 是 | 是 | 表示运行状态。 |
| lockedState | boolean | 是 | 是 | 表示锁定状态。 |
| timestamp | string | 是 | 是 | 表示任务的最近创建或更新时间。 |
| want | [Want](js-apis-featureAbility.md#want) | 是 | 是 | 表示任务的Want信息。 |
| label | string | 是 | 是 | 表示任务的标签。 |
| iconPath | string | 是 | 是 | 表示任务的图标路径。 |
| continuable | boolean | 是 | 是 | 表示任务是否可以继续。 |
......@@ -1794,8 +1794,8 @@ off(type: 'activate' | 'activating', name: string, callback?: Callback&lt;number
| constraint.control.apps | 禁止在设置或启动模块中修改应用程序 |
| constraint.physical.media | 禁止装载物理外部介质 |
| constraint.microphone | 禁止使用麦克风 |
| constraint.microphone.unmute | 禁止调整麦克风音量 |
| constraint.volume.adjust | 禁止调整主卷 |
| constraint.microphone.unmute | 禁止取消麦克风静音 |
| constraint.volume.adjust | 禁止调整音量 |
| constraint.calls.outgoing | 禁止拨打外呼电话 |
| constraint.sms.use | 禁止发送或接收短信 |
| constraint.fun | 禁止享受乐趣 |
......@@ -1813,7 +1813,7 @@ off(type: 'activate' | 'activating', name: string, callback?: Callback&lt;number
| constraint.os.account.set.icon | 禁止修改用户头像 |
| constraint.wallpaper.set | 禁止设置壁纸 |
| constraint.oem.unlock | 禁止启用oem解锁 |
| constraint.device.unmute | 禁止对设备的主卷静音 |
| constraint.device.unmute | 禁止取消设备静音 |
| constraint.password.unified | 禁止托管配置文件与主用户进行统一锁屏质询 |
| constraint.autofill | 禁止使用自动填充服务 |
| constraint.content.capture | 禁止捕获用户屏幕 |
......
......@@ -15,7 +15,7 @@ import pasteboard from '@ohos.pasteboard';
## 属性
**系统能力**: 以下各项对应的系统能力均为SystemCapability.Miscservices.Pasteboard。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Pasteboard。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
......@@ -32,7 +32,7 @@ createPlainTextData(text:string): PasteData
构建一个纯文本剪贴板内容对象。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -57,7 +57,7 @@ createHtmlData(htmlText:string): PasteData
构建一个html文本剪贴板内容对象。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -83,7 +83,7 @@ createWantData(want:Want): PasteData
构建一个want剪贴板内容对象。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -112,7 +112,7 @@ createUriData(uri:string): PasteData
构建一个URI剪贴板内容对象。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -137,7 +137,7 @@ createPlainTextRecord(text:string): PasteDataRecord
创建一条文本类型的内容条目。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -162,7 +162,7 @@ createHtmlTextRecord(htmlText:string): PasteDataRecord
创建一条HTML内容的条目。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -188,7 +188,7 @@ createWantRecord(want:Want): PasteDataRecord
创建一条Want内容条目。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -217,7 +217,7 @@ createUriRecord(uri:string): PasteDataRecord
创建一条URI内容的条目。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -240,7 +240,7 @@ createUriRecord(uri:string): PasteDataRecord
定义了剪贴板中所有内容条目的属性,包含时间戳、数据类型以及一些附加数据等。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.Miscservices.Pasteboard。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Pasteboard。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
......@@ -258,7 +258,7 @@ createUriRecord(uri:string): PasteDataRecord
### 属性
**系统能力**: 以下各项对应的系统能力均为SystemCapability.Miscservices.Pasteboard。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Pasteboard。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
......@@ -275,7 +275,7 @@ convertToText(): Promise&lt;string&gt;
实例方法,将一个PasteData中的内容强制转换为文本内容,并使用Promise异步方式返回结果。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -300,7 +300,7 @@ convertToText(callback: AsyncCallback&lt;string&gt;): void
实例方法,将一个PasteData中的内容强制转换为文本内容,并使用callback方式返回结果。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -325,7 +325,7 @@ convertToText(callback: AsyncCallback&lt;string&gt;): void
在调用PasteData的接口前,需要先获取一个PasteData对象。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
### getPrimaryText
......@@ -336,7 +336,7 @@ getPrimaryText(): string
获取首个条目的纯文本内容。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
......@@ -358,7 +358,7 @@ getPrimaryHtml(): string
获取首个条目的HTML文本内容。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -380,7 +380,7 @@ getPrimaryWant(): Want
获取首个条目的Want对象内容。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -405,7 +405,7 @@ getPrimaryUri(): string
获取首个条目的URI文本内容。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -428,7 +428,7 @@ addTextRecord(text: string): void
剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -451,7 +451,7 @@ addHtmlRecord(htmlText: string): void
剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -475,7 +475,7 @@ addWantRecord(want: Want): void
剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -502,7 +502,7 @@ addUriRecord(uri: string): void
剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -525,7 +525,7 @@ addRecord(record: PasteDataRecord): void
剪贴板内容中添加的条目达到数量上限128后,后续的添加操作无效。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -550,7 +550,7 @@ getMimeTypes(): Array&lt;string&gt;
获取剪贴板中[PasteDataProperty](#pastedataproperty7)的mimeTypes列表,当剪贴板内容为空时,返回列表为空。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -571,7 +571,7 @@ getPrimaryMimeType(): string
获取首个条目的数据类型。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -592,7 +592,7 @@ getProperty(): PasteDataProperty
获取属性描述对象。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -613,7 +613,7 @@ getRecordAt(index: number): PasteDataRecord
获取指定下标的条目。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -639,7 +639,7 @@ getRecordCount(): number
获取剪贴板中条目的个数。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -660,7 +660,7 @@ getTag(): string
获取用户自定义的标签内容,如果没有设置用户自定义的标签内容将返回空。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -681,7 +681,7 @@ hasMimeType(mimeType: string): boolean
检查内容中是否有指定的数据类型。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -707,7 +707,7 @@ removeRecordAt(index: number): boolean
移除指定下标的条目。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -733,7 +733,7 @@ replaceRecordAt(index: number, record: PasteDataRecord): boolean
替换指定下标的条目。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -761,7 +761,7 @@ getSystemPasteboard(): SystemPasteboard
获取系统剪切板。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -790,7 +790,7 @@ setPasteData(pasteData:PasteData, callback:AsyncCallback&lt;void&gt;): void
将数据写入系统剪切板,并使用callback方式返回结果。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -819,7 +819,7 @@ setPasteData(pasteData:PasteData): Promise&lt;void&gt;
将数据写入系统剪切板,并使用Promise异步方式返回结果。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 说明 |
......@@ -850,7 +850,7 @@ getPasteData( callback:AsyncCallback&lt;PasteData&gt;): void
读取系统剪切板内容,并使用callback方式返回结果。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -877,7 +877,7 @@ getPasteData(): Promise&lt;PasteData&gt;
读取系统剪切板内容,并使用Promise异步方式返回结果。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -902,7 +902,7 @@ on(type: 'update', callback: () =&gt;void ): void
订阅系统剪贴板内容变化事件,当系统剪贴板中内容变化时触发用户程序的回调。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -927,7 +927,7 @@ off(type: 'update', callback?: () =&gt;void ): void
取消订阅系统剪贴板内容变化事件。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -948,7 +948,7 @@ hasPasteData(callback: AsyncCallback&lt;boolean&gt;): void
判断系统剪切板中是否有内容,并使用callback异步方式返回结果。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -974,7 +974,7 @@ hasPasteData(): Promise&lt;boolean&gt;
判断系统剪切板中是否有内容,并使用Promise异步方式返回结果。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
| 类型 | 说明 |
......@@ -998,7 +998,7 @@ clear(callback: AsyncCallback&lt;void&gt;): void
清空系统剪切板内容,并使用callback异步方式返回结果。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -1024,7 +1024,7 @@ clear(): Promise&lt;void&gt;
清空系统剪切板内容,并使用Promise异步方式返回结果。
**系统能力**: SystemCapability.Miscservices.Pasteboard
**系统能力**: SystemCapability.MiscServices.Pasteboard
**返回值**
......
......@@ -22,19 +22,20 @@ publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback&lt;number&
发布一个后台代理提醒,使用callback方式实现异步调用。
- 系统能力
**系统能力**: SystemCapability.Notification.ReminderAgent
SystemCapability.Notification.ReminderAgent
**参数**
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reminderReq | [ReminderRequest](#reminderrequest) | 是 | 需要发布的提醒实例。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 异步回调,返回当前发布的提醒的reminderId。 |
- 示例
**示例**
```
export default { data: {timer: {
export default {
data: {
timer: {
reminderType: reminderAgent.ReminderType.REMINDER_TYPE_TIMER,
triggerTimeInSeconds: 3
}
......@@ -53,23 +54,23 @@ publishReminder(reminderReq: ReminderRequest): Promise&lt;number&gt;
发布一个后台代理提醒,使用Promise方式实现异步调用。
- 系统能力
**系统能力**: SystemCapability.Notification.ReminderAgent
SystemCapability.Notification.ReminderAgent
- 参数
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reminderReq | [ReminderRequest](#reminderrequest) | 是 | 需要发布的提醒实例。 |
- 返回值
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;number&gt; | 返回提醒的reminderId。 |
- 示例
**示例**
```
export default { data: {timer: {
export default {
data:
{timer: {
reminderType: reminderAgent.ReminderType.REMINDER_TYPE_TIMER,
triggerTimeInSeconds: 3
}
......@@ -89,22 +90,21 @@ cancelReminder(reminderId: number, callback: AsyncCallback&lt;void&gt;): void
取消指定id的提醒,使用callback方式实现异步调用。
- 系统能力
SystemCapability.Notification.ReminderAgent
**系统能力**: SystemCapability.Notification.ReminderAgent
- 参数
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reminderId | number | 是 | 目标reminder的id号。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 异步回调。 |
- 示例
**示例**
```
export default {
cancel() { reminderAgent.cancelReminder(1, (err, data) => {
cancel() {
reminderAgent.cancelReminder(1, (err, data) => {
console.log("do next");
});
}
......@@ -118,23 +118,21 @@ cancelReminder(reminderId: number): Promise&lt;void&gt;
取消指定id的提醒,使用Promise方式实现异步调用。
- 系统能力
**系统能力**: SystemCapability.Notification.ReminderAgent
SystemCapability.Notification.ReminderAgent
- 参数
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reminderId | number | 是 | 目标reminder的id号。 |
- 返回值
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise类型异步回调。 |
- 示例
**示例**
```
export default {
......@@ -153,17 +151,15 @@ getValidReminders(callback: AsyncCallback&lt;Array&lt;ReminderRequest&gt;&gt;):
获取当前应用已设置的所有有效(未过期)的提醒,使用callback方式实现异步调用。
- 系统能力
SystemCapability.Notification.ReminderAgent
**系统能力**: SystemCapability.Notification.ReminderAgent
- 参数
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;Array&lt;[ReminderRequest](#reminderrequest)&gt;&gt; | 是 | 异步回调,返回当前应用已设置的所有有效(未过期)的提醒。 |
- 示例
**示例**
```
reminderAgent.getValidReminders((err, reminders) => {
......@@ -198,17 +194,15 @@ getValidReminders(): Promise&lt;Array&lt;ReminderRequest&gt;&gt;
获取当前应用已设置的所有有效(未过期)的提醒,使用Promise方式实现异步调用。
- 系统能力
SystemCapability.Notification.ReminderAgent
**系统能力**: SystemCapability.Notification.ReminderAgent
- 返回值
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[ReminderRequest](#reminderrequest)&gt;&gt; | 返回当前应用已设置的所有有效(未过期)的提醒。 |
- 示例
**示例**
```
reminderAgent.getValidReminders().then((reminders) => {
......@@ -243,17 +237,15 @@ cancelAllReminders(callback: AsyncCallback&lt;void&gt;): void
取消当前应用所有的提醒,使用callback方式实现异步调用。
- 系统能力
**系统能力**: SystemCapability.Notification.ReminderAgent
SystemCapability.Notification.ReminderAgent
- 参数
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 异步回调。 |
- 示例
**示例**
```
reminderAgent.cancelAllReminders((err, data) =>{
......@@ -267,17 +259,15 @@ cancelAllReminders(): Promise&lt;void&gt;
取消当前应用所有的提醒,使用Promise方式实现异步调用。
- 系统能力
SystemCapability.Notification.ReminderAgent
**系统能力**: SystemCapability.Notification.ReminderAgent
- 返回值
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise类型异步回调。 |
- 示例
**示例**
```
reminderAgent.cancelAllReminders().then(() => {
......@@ -291,18 +281,16 @@ addNotificationSlot(slot: NotificationSlot, callback: AsyncCallback&lt;void&gt;)
添加一个NotificationSlot,使用callback方式实现异步调用。
- 系统能力
SystemCapability.Notification.ReminderAgent
**系统能力**: SystemCapability.Notification.ReminderAgent
- 参数
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| slot | [NotificationSlot](js-apis-notification.md#notificationslot) | 是 | notification&nbsp;slot实例。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 异步回调。 |
- 示例
**示例**
```
export default { data: { mySlot: {
......@@ -324,23 +312,21 @@ addNotificationSlot(slot: NotificationSlot): Promise&lt;void&gt;
添加一个NotificationSlot,使用Promise方式实现异步调用。
- 系统能力
**系统能力**: SystemCapability.Notification.ReminderAgent
SystemCapability.Notification.ReminderAgent
- 参数
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| slot | [NotificationSlot](js-apis-notification.md#notificationslot) | 是 | notification&nbsp;slot实例。 |
- 返回值
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise类型异步回调。 |
- 示例
**示例**
```
export default { data: { mySlot: {
......@@ -362,18 +348,16 @@ removeNotificationSlot(slotType: notification.SlotType, callback: AsyncCallback&
删除目标NotificationSlot,使用callback方式实现异步调用。
- 系统能力
SystemCapability.Notification.ReminderAgent
**系统能力**: SystemCapability.Notification.ReminderAgent
- 参数
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| slotType | [notification.SlotType](js-apis-notification.md#slottype) | 是 | 目标notification&nbsp;slot的类型。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 异步回调。 |
- 示例
**示例**
```
export default {
......@@ -391,23 +375,21 @@ removeNotificationSlot(slotType: notification.SlotType): Promise&lt;void&gt;
删除目标NotificationSlot,使用Promise方式实现异步调用。
- 系统能力
SystemCapability.Notification.ReminderAgent
**系统能力**: SystemCapability.Notification.ReminderAgent
- 参数
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| slotType | [notification.SlotType](js-apis-notification.md#slottype) | 是 | 目标notification&nbsp;slot的类型。 |
- 返回值
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise类型异步回调。 |
- 示例
**示例**
```
export default {
......@@ -423,7 +405,7 @@ export default {
按钮的类型。
- 系统能力:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
......@@ -435,7 +417,7 @@ export default {
提醒的类型。
- 系统能力:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
| 名称 | 默认值 | 说明 |
| -------- | -------- | -------- |
......@@ -448,7 +430,7 @@ export default {
用于设置弹出的提醒通知信息上显示的按钮类型和标题。
- 系统能力:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -460,7 +442,7 @@ export default {
点击提醒通知后跳转的目标ability信息。
- 系统能力:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -472,7 +454,7 @@ export default {
提醒到达时自动拉起的目标ability信息。
- 系统能力:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -484,7 +466,7 @@ export default {
提醒实例对象,用于设置提醒类型、响铃时长等具体信息。
- 系统能力:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -509,7 +491,7 @@ ReminderRequestCalendar extends ReminderRequest
日历实例对象,用于设置提醒的时间。
- 系统能力:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -524,7 +506,7 @@ ReminderRequestAlarm extends ReminderRequest
闹钟实例对象,用于设置提醒的时间。
- 系统能力:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -539,7 +521,7 @@ ReminderRequestTimer extends ReminderRequest
倒计时实例对象,用于设置提醒的时间。
- 系统能力:SystemCapability.Notification.ReminderAgent
**系统能力**:SystemCapability.Notification.ReminderAgent
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -550,7 +532,7 @@ ReminderRequestTimer extends ReminderRequest
用于日历类提醒设置时指定时间信息。
- 系统能力:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.ReminderAgent
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......
......@@ -170,6 +170,8 @@ lock(timeout: number): void
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**需要权限:** ohos.permission.RUNNING_LOCK
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -198,6 +200,8 @@ unlock(): void
**系统能力:** SystemCapability.PowerManager.PowerManager.Core
**需要权限:** ohos.permission.RUNNING_LOCK
**示例:**
```
......
......@@ -3,7 +3,7 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> - 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> - 接口为系统接口,三方应用不支持调用。
> - 本模块接口为系统接口,三方应用不支持调用。
## 导入模块
......@@ -126,7 +126,7 @@ getFreeSizeOfVolume(volumeUuid: string, callback:AsyncCallback&lt;number&gt;):vo
});
```
## storagestatistics.getBundleStats
## storagestatistics.getBundleStats<sup>9+</sup>
getBundleStats(packageName: string): Promise&lt;BundleStats&gt;
......@@ -157,7 +157,7 @@ getBundleStats(packageName: string): Promise&lt;BundleStats&gt;
});
```
## storagestatistics.getBundleStats
## storagestatistics.getBundleStats<sup>9+</sup>
getBundleStats(packageName: string, callback: AsyncCallback&lt;BundleStats&gt;): void
......
......@@ -81,45 +81,95 @@ requestFullWindow(options?: RequestFullWindowOptions): void
}
```
## app.setImageCacheCount
## app.setImageCacheCount<sup>7+</sup>
setImageCacheCount(value: number): void
设置解码图像计数的图像缓存容量。如果未设置,应用程序将不会缓存任何解码图像
设置内存中缓存解码后图片的数量上限,提升再次加载同源图片的加载速度。如果不设置则默认为0,不进行缓存。缓存采用内置的LRU策略,新图片加载后,如果超过缓存上限,会删除最久未再次加载的缓存。建议根据应用内存需求,设置合理缓存数量,数字过大可能导致内存使用过高
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | number | 否 | 解码图像计数的值容量。 |
| value | number | 否 | 内存中解码后图片的缓存数量。 |
## app.setImageRawDataCacheSize
**示例:**
```
// app.ets
import app from '@system.app';
export default {
onCreate() {
app.setImageCacheCount(100) // 设置解码后图片内存缓存上限为100张
console.info('Application onCreate')
},
onDestroy() {
console.info('Application onDestroy')
},
}
```
## app.setImageRawDataCacheSize<sup>7+</sup>
setImageRawDataCacheSize(value: number): void
在解码前设置原始图像数据大小的图像缓存容量(以字节为单位)。如果未设置,应用程序将不会缓存任何原始图像数据
设置内存中缓存解码前图片数据的大小上限,单位为字节,提升再次加载同源图片的加载速度。如果不设置则默认为0,不进行缓存。缓存采用内置的LRU策略,新图片加载后,如果解码前数据超过缓存上限,会删除最久未再次加载的图片数据缓存。建议根据应用内存需求,设置合理缓存上限,过大可能导致应用内存使用过高
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | number | 否 | 原始图像数据大小的值容量(以字节为单位)。 |
| value | number | 否 | 内存中解码前图片数据的缓存大小,单位为字节。 |
**示例:**
## app.setImageFileCacheSize
```
// app.ets
import app from '@system.app';
export default {
onCreate() {
app.setImageRawDataCacheSize(104,857,600) // 设置解码前图片数据内存缓存上限为100MB
console.info('Application onCreate')
},
onDestroy() {
console.info('Application onDestroy')
},
}
```
## app.setImageFileCacheSize<sup>7+</sup>
setImageFileCacheSize(value: number): void
在解码前设置磁盘上的图像文件缓存大小(以字节为单位)。如果未设置,应用程序将在磁盘上缓存100MB图像文件
设置图片文件缓存的大小上限,单位为字节,提升再次加载同源图片的加载速度,特别是对网络图源、缩略图会有较明显提升。如果不设置则默认为100MB。缓存采用内置的LRU策略,新图片加载后,如果超过文件缓存上限,会按照时间由远到近删除缓存图片文件直到缓存图片大小满足缓存上限。建议根据应用实际需求,设置合理文件缓存上限,数字过大可能导致磁盘空间占用过高
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | number | 否 | 原始图像数据大小的值容量(以字节为单位)。 |
| value | number | 否 | 图片文件的缓存大小,单位为字节。 |
**示例:**
```
// app.ets
import app from '@system.app';
export default {
onCreate() {
app.setImageFileCacheSize(209,715,200) // 设置图片文件数据缓存上限为200MB
console.info('Application onCreate')
},
onDestroy() {
console.info('Application onDestroy')
},
}
```
## AppResponse
......
......@@ -48,7 +48,7 @@ ohos.permission.MANAGE_BLUETOOTH
console.log('call bluetooth.startBLEScan success.');
},
fail(code, data) {
console.log('call bluetooth.startBLEScan failed, code: ${code}, data: ${data}.`);
console.log('call bluetooth.startBLEScan failed, code: ${code}, data: ${data}.');
},
complete() {
console.log('call bluetooth.startBLEScan complete.');
......@@ -82,7 +82,7 @@ ohos.permission.MANAGE_BLUETOOTH
console.log('call bluetooth.stopBLEScan success.');
},
fail(data, code) {
console.log(`call bluethooth.stopBLEScan fail, code: ${code}, data: ${data}.`);
console.log('call bluethooth.stopBLEScan fail, code: ${code}, data: ${data}.');
},
complete() {
console.log('call bluethooth.stopBLEScan complete.');
......@@ -138,7 +138,7 @@ ohos.permission.MANAGE_BLUETOOTH
});
},
fail(code, data) {
console.log('Failed to start BLE device scan, code: ${code}, data: ${data}`);
console.log('Failed to start BLE device scan, code: ${code}, data: ${data}');
}
});
```
......
......@@ -51,7 +51,7 @@ setTime(time : number) : Promise&lt;void&gt;
**需要权限:**ohos.permission.SET_TIME
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -82,7 +82,7 @@ getCurrentTime(isNano?: boolean, callback: AsyncCallback&lt;number&gt;): void
获取自 Unix 纪元以来经过的时间,使用callback形式返回结果。
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -109,7 +109,7 @@ getCurrentTime(isNano?: boolean): Promise&lt;number&gt;
获取自 Unix 纪元以来经过的时间,使用Promise形式返回结果。
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -138,7 +138,7 @@ getRealActiveTime(isNano?: boolean, callback: AsyncCallback&lt;number&gt;): void
获取自系统启动以来经过的时间,不包括深度睡眠时间,使用callback形式返回结果。
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -165,7 +165,7 @@ getRealActiveTime(isNano?: boolean): Promise&lt;number&gt;
获取自系统启动以来经过的时间,不包括深度睡眠时间,使用Promise形式返回结果。
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -194,7 +194,7 @@ getRealTime(callback: AsyncCallback&lt;number&gt;): void
获取自系统启动以来经过的时间,包括深度睡眠时间,使用callback形式返回结果。
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -221,7 +221,7 @@ getRealTime(): Promise&lt;number&gt;
获取自系统启动以来经过的时间,包括深度睡眠时间,使用Promise形式返回结果。
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -252,7 +252,7 @@ setDate(date: Date, callback: AsyncCallback&lt;void&gt;): void
**需要权限:**ohos.permission.SET_TIME
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -282,7 +282,7 @@ setDate(date: Date): Promise&lt;void&gt;
**需要权限:**ohos.permission.SET_TIME
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -312,7 +312,7 @@ getDate(callback: AsyncCallback&lt;Date&gt;): void
获取当前系统日期,使用callback形式返回结果。
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -338,7 +338,7 @@ getDate(): Promise&lt;Date&gt;
获取当前系统日期,使用Promise形式返回结果。
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 返回值:
| 类型 | 说明 |
......@@ -364,7 +364,7 @@ setTimezone(timezone: string, callback: AsyncCallback&lt;void&gt;): void
**需要权限:**ohos.permission.SET_TIME_ZONE
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -393,7 +393,7 @@ setTimezone(timezone: string): Promise&lt;void&gt;
**需要权限:**ohos.permission.SET_TIME_ZONE
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -422,7 +422,7 @@ getTimezone(callback: AsyncCallback&lt;string&gt;): void
获取系统时区,使用callback形式返回结果。
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -448,7 +448,7 @@ getTimezone(): Promise&lt;string&gt;
获取系统时区,使用Promise形式返回结果。
**系统能力**: SystemCapability.Miscservices.Time
**系统能力**: SystemCapability.MiscServices.Time
- 返回值:
| 类型 | 说明 |
......
......@@ -16,7 +16,7 @@ import wallpaper from '@ohos.wallpaper';
定义壁纸类型。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.Miscservices.Wallpaper。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Wallpaper。
| 名称 | 说明 |
| -------- | -------- |
......@@ -30,7 +30,7 @@ getColors(wallpaperType: WallpaperType, callback: AsyncCallback&lt;Array&lt;Rgba
获取指定类型壁纸的主要颜色信息。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -57,7 +57,7 @@ getColors(wallpaperType: WallpaperType): Promise&lt;Array&lt;RgbaColor&gt;&gt;
获取指定类型壁纸的主要颜色信息。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -86,7 +86,7 @@ getId(wallpaperType: WallpaperType, callback: AsyncCallback&lt;number&gt;): void
获取指定类型壁纸的ID。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数
| 参数名 | 类型 | 必填 | 说明 |
......@@ -113,7 +113,7 @@ getId(wallpaperType: WallpaperType): Promise&lt;number&gt;
获取指定类型壁纸的ID。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
......@@ -143,7 +143,7 @@ getMinHeight(callback: AsyncCallback&lt;number&gt;): void
获取壁纸的最小高度值。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -169,7 +169,7 @@ getMinHeight(): Promise&lt;number&gt;
获取壁纸的最小高度值。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 返回值:
......@@ -194,7 +194,7 @@ getMinWidth(callback: AsyncCallback&lt;number&gt;): void
获取壁纸的最小宽度值。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
......@@ -221,7 +221,7 @@ getMinWidth(): Promise&lt;number&gt;
获取壁纸的最小宽度值。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 返回值:
| 类型 | 说明 |
......@@ -245,7 +245,7 @@ isChangePermitted(callback: AsyncCallback&lt;boolean&gt;): void
是否允许应用改变当前用户的壁纸。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -271,7 +271,7 @@ isChangePermitted(): Promise&lt;boolean&gt;
是否允许应用改变当前用户的壁纸。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 返回值:
| 类型 | 说明 |
......@@ -295,7 +295,7 @@ isOperationAllowed(callback: AsyncCallback&lt;boolean&gt;): void
是否允许用户设置壁纸。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -321,7 +321,7 @@ isOperationAllowed(): Promise&lt;boolean&gt;
是否允许用户设置壁纸。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 返回值:
| 类型 | 说明 |
......@@ -347,7 +347,7 @@ reset(wallpaperType: WallpaperType, callback: AsyncCallback&lt;void&gt;): void
**需要权限**:ohos.permission.SET_WALLPAPER
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -376,7 +376,7 @@ reset(wallpaperType: WallpaperType): Promise&lt;void&gt;
**需要权限:**ohos.permission.SET_WALLPAPER
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -407,7 +407,7 @@ setWallpaper(source: string | image.PixelMap, wallpaperType: WallpaperType, call
**需要权限:** ohos.permission.SET_WALLPAPER
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -460,7 +460,7 @@ setWallpaper(source: string | image.PixelMap, wallpaperType: WallpaperType): Pro
**需要权限**:ohos.permission.SET_WALLPAPER
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -511,7 +511,7 @@ getFile(wallpaperType: WallpaperType, callback: AsyncCallback&lt;number&gt;): vo
**需要权限**:ohos.permission.SET_WALLPAPER、ohos.permission.READ_USER_STORAGE
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -538,7 +538,7 @@ getFile(wallpaperType: WallpaperType): Promise&lt;number&gt;
**需要权限:** ohos.permission.SET_WALLPAPER、ohos.permission.READ_USER_STORAGE
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -567,7 +567,7 @@ on(type: 'colorChange', callback: (colors: Array&lt;RgbaColor&gt;, wallpaperType
订阅壁纸颜色变化结果上报事件。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -591,7 +591,7 @@ off(type: 'colorChange', callback?: (colors: Array&lt;RgbaColor&gt;, wallpaperTy
取消订阅壁纸颜色变化结果上报事件。
**系统能力**: SystemCapability.Miscservices.Wallpaper
**系统能力**: SystemCapability.MiscServices.Wallpaper
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
......@@ -615,7 +615,7 @@ off(type: 'colorChange', callback?: (colors: Array&lt;RgbaColor&gt;, wallpaperTy
## RgbaColor
**系统能力**: 以下各项对应的系统能力均为SystemCapability.Miscservices.Wallpaper。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Wallpaper。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
......
......@@ -638,6 +638,12 @@ cancel(agent: WantAgent): Promise\<void\>
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------------------------- |
| Promise\<void\> | 以Promise形式获取异步返回结果。 |
**示例:**
```js
......
......@@ -1046,7 +1046,7 @@ on(type: "hotspotStateChange", callback: Callback&lt;number&gt;): void
ohos.permission.GET_WIFI_INFO
- 系统能力:
SystemCapability.Communication.WiFi.AP
SystemCapability.Communication.WiFi.AP.Core
- 参数
| **参数名** | **类型** | **必填** | **说明** |
......@@ -1073,7 +1073,7 @@ off(type: "hotspotStateChange", callback?: Callback&lt;number&gt;): void
ohos.permission.GET_WIFI_INFO
- 系统能力:
SystemCapability.Communication.WiFi.AP
SystemCapability.Communication.WiFi.AP.Core
- 参数
| **参数名** | **类型** | **必填** | **说明** |
......
......@@ -21,7 +21,7 @@ enableHotspot(): boolean;
ohos.permission.MANAGE_WIFI_HOTSPOT_EXT
- 系统能力:
SystemCapability.Communication.WiFi.HotspotExt
SystemCapability.Communication.WiFi.AP.Extension
- 返回值:
| **类型** | **说明** |
......@@ -39,7 +39,7 @@ disableHotspot(): boolean;
ohos.permission.MANAGE_WIFI_HOTSPOT_EXT
- 系统能力:
SystemCapability.Communication.WiFi.HotspotExt
SystemCapability.Communication.WiFi.AP.Extension
- 返回值:
| **类型** | **说明** |
......@@ -57,7 +57,7 @@ getSupportedPowerModel(): Promise&lt;Array&lt;PowerModel&gt;&gt;
ohos.permission.GET_WIFI_INFO
- 系统能力:
SystemCapability.Communication.WiFi.HotspotExt
SystemCapability.Communication.WiFi.AP.Extension
- 返回值:
| 类型 | 说明 |
......@@ -86,7 +86,7 @@ getSupportedPowerModel(callback: AsyncCallback&lt;Array&lt;PowerModel&gt;&gt;):
ohos.permission.GET_WIFI_INFO
- 系统能力:
SystemCapability.Communication.WiFi.HotspotExt
SystemCapability.Communication.WiFi.AP.Extension
- 参数
| 参数名 | 类型 | 必填 | 说明 |
......@@ -104,7 +104,7 @@ getPowerModel(): Promise&lt;PowerModel&gt;
ohos.permission.GET_WIFI_INFO
- 系统能力:
SystemCapability.Communication.WiFi.HotspotExt
SystemCapability.Communication.WiFi.AP.Extension
- 返回值:
| 类型 | 说明 |
......@@ -122,7 +122,7 @@ getPowerModel(callback: AsyncCallback&lt;PowerModel&gt;): void
ohos.permission.GET_WIFI_INFO
- 系统能力:
SystemCapability.Communication.WiFi.HotspotExt
SystemCapability.Communication.WiFi.AP.Extension
- 参数
| 参数名 | 类型 | 必填 | 说明 |
......@@ -140,7 +140,7 @@ setPowerModel(model: PowerModel) : boolean;
ohos.permission.MANAGE_WIFI_HOTSPOT_EXT
- 系统能力:
SystemCapability.Communication.WiFi.HotspotExt
SystemCapability.Communication.WiFi.AP.Extension
- 参数
| 参数名 | 类型 | 必填 | 说明 |
......
......@@ -119,5 +119,3 @@ struct ListExample {
```
![zh-cn_image_0000001174264378](figures/zh-cn_image_0000001174264378.gif)
◤otherprops:internal:◢
# UI
# UI开发
- [方舟开发框架(ArkUI)概述](arkui-overview.md)
- 基于JS扩展的类Web开发范式
......
......@@ -24,9 +24,9 @@
## 资源引用
在工程中,通过**“$r('app.type.name')”**的形式引用应用资源。app代表是应用内resources目录中定义的资源;type代表资源类型(或资源的存放位置),可以取“color”、“float”、“string”、“plural”、“media”,name代表资源命名,由开发者定义资源时确定。
在工程中,通过"$r('app.type.name')"的形式引用应用资源。app代表是应用内resources目录中定义的资源;type代表资源类型(或资源的存放位置),可以取“color”、“float”、“string”、“plural”、“media”,name代表资源命名,由开发者定义资源时确定。
引用rawfile下资源时使用**“$rawfile('filename')”**的形式**,**当前$rawfile仅支持Image控件引用图片资源,filename需要表示为rawfile目录下的文件相对路径,文件名需要包含后缀,路径开头不可以以"/"开头。
引用rawfile下资源时使用"$rawfile('filename')" 的形式,当前$rawfile仅支持Image控件引用图片资源,filename需要表示为rawfile目录下的文件相对路径,文件名需要包含后缀,路径开头不可以以"/"开头。
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 资源描述符不能拼接使用。
......
......@@ -11,7 +11,7 @@ FA应用的eTS模块(entry/src/main)的典型开发目录结构如下:
**目录结构中文件分类如下:**
- .ets结尾的eTS(extended TypeScript)文件,这个文件用于描述UI布局、样式、事件交互和页面逻辑。
.ets结尾的eTS(extended TypeScript)文件,这个文件用于描述UI布局、样式、事件交互和页面逻辑。
**各个文件夹和文件的作用:**
......@@ -26,4 +26,6 @@ FA应用的eTS模块(entry/src/main)的典型开发目录结构如下:
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> - 资源目录resources文件夹位于src/main下,此目录下资源文件的详细规范以及子目录结构规范参看[资源文件的分类](../quick-start/basic-resource-file-categories.md)。
>
> - 页面支持导入TypeScript和JavaScript文件。
......@@ -11,3 +11,13 @@
| SVG | .svg |
| WEBP | .webp |
| BMP | .bmp |
- 开发框架支持的图片资源类型说明
| 格式 | 支持的文件类型 |
| -------- | -------- |
| H.263 | .3gp <br>.mp4 |
| H.264 AVC <br> Baseline Profile (BP) | .3gp <br>.mp4 |
| MPEG-4 SP | .3gp |
| VP8 | .webm <br> .mkv |
......@@ -60,7 +60,7 @@
资源引用类型,用于设置组件属性的值。
可以通过$r或者$rawfile创建Resource类型对象,详见[资源访问](ts-media-resource-type.md)
可以通过$r或者$rawfile创建Resource类型对象,详见[资源访问](ts-application-resource-access.md)
- $r('belonging.type.name')
belonging:系统资源或者应用资源,相应的取值为'sys'和'app';
......
......@@ -5,7 +5,6 @@
## 基础能力
- **类Web范式编程**
采用类HTML和CSS Web编程语言作为页面布局和页面样式的开发语言,页面业务逻辑则支持ECMAScript规范的JavaScript语言。方舟开发框架提供的类Web编程范式,可以让开发者避免编写UI状态切换的代码,视图配置信息更加直观。
......
# OpenHarmony应用开发文档
- [应用开发导读](application-dev-guide.md)
- 快速开始
- 应用开发快速入门
......@@ -254,7 +255,7 @@
- [传感器开发概述](device/sensor-overview.md)
- [传感器开发指导](device/sensor-guidelines.md)
- 振动
- [振动开发概述](device/vibrator-guidelines.md)
- [振动开发概述](device/vibrator-overview.md)
- [振动开发指导](device/vibrator-guidelines.md)
- 设备使用信息统计
- [设备使用信息统计概述](device-usage-statistics/device-usage-statistics-overview.md)
......
# 延迟任务调度开发指导
## 场景介绍
应用要执行对实时性要求不高的任务的时候,比如设备空闲时候做一次数据学习等场景,可以使用延迟调度任务,该机制在满足应用设定条件的时候,会根据系统当前状态,如内存、功耗、热等统一决策调度时间。
## 接口说明
注册相关接口包导入:
```js
import workScheduler from '@ohos.workScheduler';
```
回调相关接口包导入:
```js
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
```
### 延迟任务调度
**表1** workScheduler主要接口
接口名 | 接口描述
---------------------------------------------------------|-----------------------------------------
function startWork(work: WorkInfo): boolean; | 延迟调度任务申请
function stopWork(work: WorkInfo, needCancel?: boolean): boolean; | 延迟调度任务取消
function getWorkStatus(workId: number, callback: AsyncCallback<WorkInfo>): void;| 获取延迟调度任务状态(Callback形式)
function getWorkStatus(workId: number): Promise<WorkInfo>; | 获取延迟调度任务状态(Promise形式)
function obtainAllWorks(callback: AsyncCallback<void>): Array<WorkInfo>;| 获取所有延迟调度任务(Callback形式)
function obtainAllWorks(): Promise<Array<WorkInfo>>;| 获取所有延迟调度任务(Promise形式)
function stopAndClearWorks(): boolean;| 停止并清除任务
function isLastWorkTimeOut(workId: number, callback: AsyncCallback<void>): boolean;| 获取上次任务是否超时(针对RepeatWork,Callback形式)
function isLastWorkTimeOut(workId: number): Promise<boolean>;| 获取上次任务是否超时(针对RepeatWork,Promise形式)
**表2** WorkInfo包含参数
接口名|描述|类型
---------------------------------------------------------|-----------------------------------------|---------------------------------------------------------
workId | 延迟任务Id(必填)|number
bundleName | 延迟任务包名(必填)|string
abilityName | 延迟任务回调通知的组件名(必填)|string
networkType | 网络条件 | NetworkType
isCharging | 是否充电 | bool
chargerType | 充电类型 | ChargingType
batteryLevel | 电量| number
batteryStatus| 电池状态| BatteryStatus
storageRequest|存储状态| StorageRequest
isRepeat|是否循环任务| boolean
repeatCycleTime |循环间隔| number
repeatCount |循环次数| number
**表3** 延迟任务回调接口
接口名 | 接口描述
---------------------------------------------------------|-----------------------------------------
function onWorkStart(work: WorkInfo): void; | 延迟调度任务开始回调
function 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));
}
}
# 延迟任务调度开发指导
## 场景介绍
应用要执行对实时性要求不高的任务的时候,比如设备空闲时候做一次数据学习等场景,可以使用延迟调度任务,该机制在满足应用设定条件的时候,会根据系统当前状态,如内存、功耗、热等统一决策调度时间。
## 接口说明
注册相关接口包导入:
```js
import workScheduler from '@ohos.workScheduler';
```
回调相关接口包导入:
```js
import WorkSchedulerExtensionAbility from '@ohos.WorkSchedulerExtensionAbility';
```
### 延迟任务调度
**表1** workScheduler主要接口
接口名 | 接口描述
---------------------------------------------------------|-----------------------------------------
function startWork(work: WorkInfo): boolean; | 延迟调度任务申请
function stopWork(work: WorkInfo, needCancel?: boolean): boolean; | 延迟调度任务取消
function getWorkStatus(workId: number, callback: AsyncCallback<WorkInfo>): void;| 获取延迟调度任务状态(Callback形式)
function getWorkStatus(workId: number): Promise<WorkInfo>; | 获取延迟调度任务状态(Promise形式)
function obtainAllWorks(callback: AsyncCallback<void>): Array<WorkInfo>;| 获取所有延迟调度任务(Callback形式)
function obtainAllWorks(): Promise<Array<WorkInfo>>;| 获取所有延迟调度任务(Promise形式)
function stopAndClearWorks(): boolean;| 停止并清除任务
function isLastWorkTimeOut(workId: number, callback: AsyncCallback<void>): boolean;| 获取上次任务是否超时(针对RepeatWork,Callback形式)
function 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** 延迟任务回调接口
接口名 | 接口描述
---------------------------------------------------------|-----------------------------------------
function onWorkStart(work: WorkInfo): void; | 延迟调度任务开始回调
function 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.data);
} 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.data);
})
**获取所有延迟任务**
1.Callback写法
workScheduler.obtainAllWorks((err, res) =>{
if (err) {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.data);
} 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.data);
})
**停止并清除任务**
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.data);
} 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.data);
});
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.data);
} 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.data);
})
**获取所有延迟任务**
1.Callback写法
workScheduler.obtainAllWorks((err, res) =>{
if (err) {
console.info('workschedulerLog obtainAllWorks failed, because:' + err.data);
} 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.data);
})
**停止并清除任务**
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.data);
} 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.data);
});
})
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册