未验证 提交 0e7bffbf 编写于 作者: O openharmony_ci 提交者: Gitee

!3593 Update Ability & Notification interface of API 9

Merge pull request !3593 from xuzhihao/OpenHarmony-3.1-Release
# AbilityManager
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> API 9当前为Canary版本,仅供试用,不保证接口可稳定调用。
## AbilityState
Ability的状态信息。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| INITIAL | 0 | 表示ability为initial状态。|
| FOREGROUND | 9 | 表示ability为foreground状态。 |
| BACKGROUND | 10 | 表示ability为background状态。 |
| FOREGROUNDING | 11 | 表示ability为foregrounding状态。 |
| BACKGROUNDING | 12 | 表示ability为backgrounding状态。 |
## updateConfiguration
updateConfiguration(config: Configuration, callback: AsyncCallback\<void>): void
通过修改配置来更新配置(callback形式)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| config | Configuration | 是 | 新的配置项。 |
| callback | AsyncCallback\<void> | 是 | 被指定的回调方法。 |
**示例**
```js
import abilitymanager from '@ohos.application.abilityManager';
var config = {
language: 'chinese'
}
abilitymanager.updateConfiguration(config, () => {
console.log('------------ updateConfiguration -----------');
})
```
## updateConfiguration
updateConfiguration(config: Configuration): Promise\<void>
通过修改配置来更新配置(Promise形式)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| config | Configuration | 是 | 新的配置项。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ------- |
| Promise\<void> | 返回执行结果。 |
**示例**
```js
import abilitymanager from '@ohos.application.abilityManager';
var config = {
language: 'chinese'
}
abilitymanager.updateConfiguration(config).then(() => {
console.log('updateConfiguration success');
}).catch((err) => {
console.log('updateConfiguration fail');
})
```
## getAbilityRunningInfos
getAbilityRunningInfos(callback: AsyncCallback\<Array\<AbilityRunningInfo>>): void
通过修改配置来更新配置(callback形式)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| callback | AsyncCallback\<Array\<AbilityRunningInfo>> | 是 | 被指定的回调方法。 |
**示例**
```js
import abilitymanager from '@ohos.application.abilityManager';
abilitymanager.getAbilityRunningInfos((err,data) => {
console.log("getAbilityRunningInfos err: " + err + " data: " + JSON.stringify(data));
});
```
## getAbilityRunningInfos
getAbilityRunningInfos(): Promise\<Array\<AbilityRunningInfo>>
通过修改配置来更新配置(Promise形式)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ------- |
| Promise\<Array\<AbilityRunningInfo>> | 返回执行结果。 |
**示例**
```js
import abilitymanager from '@ohos.application.abilityManager';
abilitymanager.getAbilityRunningInfos().then((data) => {
console.log("getAbilityRunningInfos data: " + JSON.stringify(data))
}).catch((err) => {
console.log("getAbilityRunningInfos err: " + err)
});
```
## getExtensionRunningInfos<sup>9+</sup>
getExtensionRunningInfos(upperLimit: number, callback: AsyncCallback\<Array\<ExtensionRunningInfo>>): void
获取关于运行扩展的信息(callback形式)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| upperLimit | number | 是 | 获取消息数量的最大限制。 |
| callback | AsyncCallback\<Array\<AbilityRunningInfo>> | 是 | 被指定的回调方法。 |
**示例**
```js
import abilitymanager from '@ohos.application.abilityManager';
var upperLimit = 0;
abilitymanager.getExtensionRunningInfos(upperLimit, (err,data) => {
console.log("getExtensionRunningInfos err: " + err + " data: " + JSON.stringify(data));
});
```
## getExtensionRunningInfos<sup>9+</sup>
getExtensionRunningInfos(upperLimit: number): Promise\<Array\<ExtensionRunningInfo>>
获取关于运行扩展的信息(Promise形式)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| upperLimit | number | 是 | 获取消息数量的最大限制。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ------- |
| Promise\<Array\<AbilityRunningInfo>> | 返回执行结果。 |
**示例**
```js
import abilitymanager from '@ohos.application.abilityManager';
var upperLimit = 0;
abilitymanager.getExtensionRunningInfos(upperLimit).then((data) => {
console.log("getAbilityRunningInfos data: " + JSON.stringify(data));
}).catch((err) => {
console.log("getAbilityRunningInfos err: " + err);
})
```
\ No newline at end of file
# AbilityStageContext
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
AbilityStage的上下文环境,继承自[Context](js-apis-application-context.md)
## 使用说明
通过AbilityStage实例来获取。
```js
import AbilityStage from '@ohos.application.AbilityStage';
class MyAbilityStage extends AbilityStage {
onCreate() {
let abilityStageContext = this.context;
}
}
```
## 属性
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| currentHapModuleInfo | HapModuleInfo | 是 | 否 | AbilityStage对应的ModuleInfo对象。 |
| config | [Configuration](js-apis-configuration.md) | 是 | 否 | 环境变化对象。 |
# DataShareExtensionAbility
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
类的数据共享扩展能力。
## 导入模块
```
import DataShareExtensionAbility from '@ohos.application.DataShareExtensionAbility';
```
## 属性
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
| 名称 | 可读 | 可写 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | -------- | -------- |
| context | 是 | 否 | ExtensionContext | 否 | 指示数据共享扩展能力上下文。|
## DataShareExtensionAbility.onCreate
onCreate?(want: Want): void;
在启动数据共享扩展功能进行初始化时回调。
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | Want | 是 | want表示有关数据共享扩展功能的连接信息。|
**示例:**
```js
class myAbility extends DataShareExtensionAbility {
onCreate(want) {
console.log('onCreate, want:' + want.abilityName);
}
}
```
## DataShareExtensionAbility.getFileTypes
getFileTypes?(uri: string, mimeTypeFilter: string, callback: AsyncCallback<Array\<string>>): void
获取支持的文件的MIME类型(callback形式)。
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------------- | ------------------------------ | ---- | ---------------------------------- |
| uri | string | 是 | 指示要获取的文件的路径。 |
| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型。 |
| callback | AsyncCallback\<Array\<string>> | 是 | 回调方法,返回匹配的MIME类型数组。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
"dataability:///com.example.DataAbility"
);
DAHelper.getFileTypes(
"dataability:///com.example.DataAbility",
"image/*",
(err, data) => {
console.info("==========================>Called=======================>");
});
```
## DataShareExtensionAbility.insert
insert?(uri: string, valueBucket: rdb.ValuesBucket, callback: AsyncCallback\<number>): void
将单个数据记录插入数据库(callback形式)。
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ------------ | ---------------------- | ---- | ------------------------------------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 |
| valuesBucket | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 |
| callback | AsyncCallback\<number> | 是 | 回调方法,返回插入数据记录的索引。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
"dataability:///com.example.DataAbility"
);
const valueBucket = {
"name": "rose",
"age": 22,
"salary": 200.5,
"blobType": u8,
}
DAHelper.insert(
"dataability:///com.example.DataAbility",
valueBucket,
(err, data) => {
console.info("==========================>Called=======================>");
});
```
## DataShareExtensionAbility.update
update?(uri: string, valueBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void
更新数据库中的数据记录(callback形式)。
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| valuesBucket | rdb.ValuesBucket | 是 | 指示要更新的数据。 |
| predicates | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
| callback | AsyncCallback\<number> | 是 | 回调方法,返回更新的数据记录数。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper(
"dataability:///com.example.DataAbility"
);
const va = {
"name": "roe1",
"age": 21,
"salary": 20.5,
"blobType": u8,
}
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.update(
"dataability:///com.example.DataAbility",
va,
da,
(err, data) => {
console.info("==========================>Called=======================>");
});
```
## DataShareExtensionAbility.delete
delete?(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<number>): void
从数据库中删除一个或多个数据记录(callback形式)。
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ------------ | --------------------------------- | ---- | ------------------------------------------------ |
| uri | string | 是 | 指示要删除的数据的路径。 |
| valuesBucket | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
| callback | AsyncCallback\<number> | 是 | 回调方法。返回已删除的数据记录数。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper(
"dataability:///com.example.DataAbility"
);
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.delete(
"dataability:///com.example.DataAbility",
da,
(err, data) => {
console.info("==========================>Called=======================>");
});
```
## DataShareExtensionAbility.query
query?(uri: string, columns: Array\<string>, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\<ResultSet>): void
查询数据库中的数据(callback形式)。
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ---------- | --------------------------------- | ---- | ------------------------------------------------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| columns | rdb.ValuesBucket | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
| predicates | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 |
| callback | AsyncCallback\<ResultSet> | 是 | 回调方法,返回查询结果。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility'
import ohos_data_ability from '@ohos.data.dataability'
var DAHelper = featureAbility.acquireDataAbilityHelper(
"dataability:///com.example.DataAbility"
);
var cars=new Array("value1", "value2", "value3", "value4");
let da = new ohos_data_ability.DataAbilityPredicates()
DAHelper.query(
"dataability:///com.example.DataAbility",
cars,
da,
(err, data) => {
console.info("==========================>Called=======================>");
});
```
## DataShareExtensionAbility.getType
getType?(uri: string, callback: AsyncCallback\<string>): void
获取给定URI指定数据的MIME类型(callback形式)。
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | --------------------------------------------- |
| uri | string | 是 | 指示要操作的数据的路径。 |
| callback | AsyncCallback\<string> | 是 | 回调方法,返回与uri指定的数据匹配的MIME类型。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
"dataability:///com.example.DataAbility"
);
DAHelper.getType(
"dataability:///com.example.DataAbility",
(err, data) => {
console.info("==========================>Called=======================>");
});
```
## DataShareExtensionAbility.batchInsert
batchInsert?(uri: string, valueBuckets: Array<rdb.ValuesBucket>, callback: AsyncCallback\<number>): void
插入数据库(callback形式)。
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| ------------ | ----------------------- | ---- | -------------------------------- |
| uri | string | 是 | 指示要插入的数据的路径。 |
| valuesBucket | Array<rdb.ValuesBucket> | 是 | 指示要插入的数据记录。 |
| callback | AsyncCallback\<number> | 是 | 回调方法。返回插入的数据记录数。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
"dataability:///com.example.DataAbility"
);
var cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,},
{"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,},
{"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,})
DAHelper.batchInsert(
"dataability:///com.example.DataAbility",
cars,
(err, data) => {
console.info("==========================>Called=======================>");
});
```
## DataShareExtensionAbility.normalizeUri
normalizeUri?(uri: string, callback: AsyncCallback\<string>): void
将引用数据功能的给定uri转换为规范化uri(callback形式)。
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要规范化的uri对象。 |
| callback | AsyncCallback\<string> | 是 | 回调方法。如果数据功能支持uri规范化,则返回规范化uri对象;否则返回null。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
"dataability:///com.example.DataAbility"
);
DAHelper.normalizeUri(
"dataability:///com.example.DataAbility",
(err, data) => {
console.info("==========================>Called=======================>");
});
```
## DataShareExtensionAbility.denormalizeUri
denormalizeUri?(uri: string, callback: AsyncCallback\<string>): void
将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)。
**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---------------------- | ---- | --------------------------------------------------- |
| uri | string | 是 | 指示要规范化的uri对象。 |
| callback | AsyncCallback\<string> | 是 | 回调方法。如果反规范化成功,则返回反规范化uri对象。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility'
var DAHelper = featureAbility.acquireDataAbilityHelper(
"dataability:///com.example.DataAbility"
);
DAHelper.denormalizeUri(
"dataability:///com.example.DataAbility",
(err, data) => {
console.info("==========================>Called=======================>");
});
```
# StartOptions
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
StartOptions是系统的基本通信组件。
## 导入模块
```js
import StartOptions from '@ohos.application.StartOptions';
```
## 属性
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.AbilityCore
| 名称 | 可读 | 可写 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | -------- | -------- |
| windowMode | 是 | 否 | number | 否 | 窗口模式。 |
| displayId | 是 | 否 | number | 否 | 显示ID。 |
......@@ -2,6 +2,8 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
Want是系统的基本通信组件。
......@@ -27,4 +29,6 @@ import Want from '@ohos.application.Want';
| flags | 只读 | number | 否 | 表示处理Want的方式。默认传数字,具体参考:[flags说明](js-apis-featureAbility.md#flags说明)。 |
| action | 只读 | string | 否 | 表示action选项描述。 |
| parameters | 只读 | {[key: string]: any} | 否 | 表示WantParams描述。 |
| entities | 只读 | Array\<string> | 否 | 表示entities相关描述。 | |
\ No newline at end of file
| entities | 只读 | Array\<string> | 否 | 表示entities相关描述。 | |
| extensionAbilityType<sup>9+</sup> | 只读 | bundle.ExtensionAbilityType | 否 | ExtensionAbility类型 |
| extensionAbilityName<sup>9+<sup> | 只读 | string | 否 | Want中扩展能力名称的描述。 |
# Ability
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
Ability模块,提供对Ability生命周期、上下文环境等调用管理。
## 导入模块
```
import Ability from '@ohos.application.Ability';
```
## 属性
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.AbilityCore
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| context | [AbilityContext](js-apis-ability-context.md) | 是 | 否 | 上下文。 |
| launchWant | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 否 | Ability启动时的参数。 |
| lastRequestWant | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 否 | Ability最后请求时的参数。|
## Ability.onCreate
onCreate(want: Want, param: AbilityConstant.LaunchParam): void;
Ability创建时回调,执行初始化业务逻辑操作。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | 当前Ability的Want类型信息,包括ability名称、bundle名称等。 |
| param | AbilityConstant.LaunchParam | 是 | 创建&nbsp;ability、上次异常退出的原因信息。 |
**示例:**
```js
class myAbility extends Ability {
onCreate(want, param) {
console.log('onCreate, want:' + want.abilityName);
}
}
```
## Ability.onWindowStageCreate
onWindowStageCreate(windowStage: window.WindowStage): void
当WindowStage创建后调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| windowStage | window.WindowStage | 是 | WindowStage相关信息。 |
**示例:**
```js
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
}
}
```
## Ability.onWindowStageDestroy
onWindowStageDestroy(): void
当WindowStage销毁后调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**示例:**
```js
class myAbility extends Ability {
onWindowStageDestroy() {
console.log('onWindowStageDestroy');
}
}
```
## Ability.onWindowStageRestore
onWindowStageRestore(windowStage: window.WindowStage): void
当迁移多实例ability时,恢复WindowStage后调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| windowStage | window.WindowStage | 是 | WindowStage相关信息。 |
**示例:**
```js
class myAbility extends Ability {
onWindowStageRestore(windowStage) {
console.log('onWindowStageRestore');
}
}
```
## Ability.onDestroy
onDestroy(): void;
Ability生命周期回调,在销毁时回调,执行资源清理等操作。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**示例:**
```js
class myAbility extends Ability {
onDestroy() {
console.log('onDestroy');
}
}
```
## Ability.onForeground
onForeground(): void;
Ability生命周期回调,当应用处于前台时触发。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**示例:**
```js
class myAbility extends Ability {
onForeground() {
console.log('onForeground');
}
}
```
## Ability.onBackground
onBackground(): void;
Ability生命周期回调,当应用处于后台时触发。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**示例:**
```js
class myAbility extends Ability {
onBackground() {
console.log('onBackground');
}
}
```
## Ability.onContinue
onContinue(wantParam : {[key: string]: any}): AbilityConstant.OnContinueResult;
当ability迁移准备迁移时触发,保存数据。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| wantParam | {[key:&nbsp;string]:&nbsp;any} | 是 | want相关参数。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| AbilityConstant.OnContinueResult | 继续的结果。 |
**示例:**
```js
class myAbility extends Ability {
onContinue(wantParams) {
console.log('onContinue');
wantParams["myData"] = "my1234567";
return true;
}
}
```
## Ability.onNewWant
onNewWant(want: Want): void;
当ability的启动模式设置为单例时回调会被调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | Want类型参数,如ability名称,包名等。 |
**示例:**
```js
class myAbility extends Ability {
onNewWant(want) {
console.log('onNewWant, want:' + want.abilityName);
}
}
```
## Ability.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
当系统配置更新时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](js-apis-configuration.md) | 是 | 表示需要更新的配置信息。 |
**示例:**
```js
class myAbility extends Ability {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, config:' + JSON.stringify(config));
}
}
```
## Caller
通用组件Caller通信客户端调用接口, 用来向通用组件服务端发送约定数据。
## Caller.call
call(method: string, data: rpc.Sequenceable): Promise&lt;void&gt;;
向通用组件服务端发送约定序列化数据。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| method | string | 是 | 约定的服务端注册事件字符串。 |
| data | rpc.Sequenceable | 是 | 由开发者实现的Sequenceable可序列化数据。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise形式返回应答。 |
**示例:**
```js
import Ability from '@ohos.application.Ability';
class MyMessageAble{ // 自定义的Sequenceable数据结构
constructor(name, str) {
this.name = name;
this.str = str;
}
marshalling(messageParcel) {
messageParcel.writeInt(this.num);
messageParcel.writeString(this.str);
console.log('MyMessageAble marshalling num[' + this.num + '] str[' + this.str + ']');
return true;
}
unmarshalling(messageParcel) {
this.num = messageParcel.readInt();
this.str = messageParcel.readString();
console.log('MyMessageAble unmarshalling num[' + this.num + '] str[' + this.str + ']');
return true;
}
};
var method = 'call_Function'; // 约定的通知消息字符串
var caller;
export default class MainAbility extends Ability {
onWindowStageCreate(windowStage) {
this.context.startAbilityByCall({
bundleName: "com.example.myservice",
abilityName: "com.example.myservice.MainAbility",
deviceId: ""
}).then((obj) => {
caller = obj;
let msg = new MyMessageAble(1, "world"); // 参考Sequenceable数据定义
caller.call(method, msg)
.then(() => {
console.log('Caller call() called');
}).catch((e) => {
console.log('Caller call() catch error ' + e);
});
console.log('Caller GetCaller Get ' + caller);
}).catch((e) => {
console.log('Caller GetCaller error ' + e);
});
}
}
```
## Caller.callWithResult
callWithResult(method: string, data: rpc.Sequenceable): Promise&lt;rpc.MessageParcel&gt;;
向通用组件服务端发送约定序列化数据, 并将服务端返回的约定序列化数据带回。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| method | string | 是 | 约定的服务端注册事件字符串。 |
| data | rpc.Sequenceable | 是 | 由开发者实现的Sequenceable可序列化数据。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;rpc.MessageParcel&gt; | Promise形式返回通用组件服务端应答数据。 |
**示例:**
```js
import Ability from '@ohos.application.Ability';
class MyMessageAble{
constructor(name, str) {
this.name = name;
this.str = str;
}
marshalling(messageParcel) {
messageParcel.writeInt(this.num);
messageParcel.writeString(this.str);
console.log('MyMessageAble marshalling num[' + this.num + '] str[' + this.str + ']');
return true;
}
unmarshalling(messageParcel) {
this.num = messageParcel.readInt();
this.str = messageParcel.readString();
console.log('MyMessageAble unmarshalling num[' + this.num + '] str[' + this.str + ']');
return true;
}
};
var method = 'call_Function';
var caller;
export default class MainAbility extends Ability {
onWindowStageCreate(windowStage) {
this.context.startAbilityByCall({
bundleName: "com.example.myservice",
abilityName: "com.example.myservice.MainAbility",
deviceId: ""
}).then((obj) => {
caller = obj;
let msg = new MyMessageAble(1, "world");
caller.callWithResult(method, msg)
.then((data) => {
console.log('Caller callWithResult() called');
let retmsg = new MyMessageAble(0, "");
data.readSequenceable(retmsg);
}).catch((e) => {
console.log('Caller callWithResult() catch error ' + e);
});
console.log('Caller GetCaller Get ' + caller);
}).catch((e) => {
console.log('Caller GetCaller error ' + e);
});
}
}
```
## Caller.release
release(): void;
主动释放通用组件服务端的通信接口。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**示例:**
```js
import Ability from '@ohos.application.Ability';
var caller;
export default class MainAbility extends Ability {
onWindowStageCreate(windowStage) {
this.context.startAbilityByCall({
bundleName: "com.example.myservice",
abilityName: "com.example.myservice.MainAbility",
deviceId: ""
}).then((obj) => {
caller = obj;
try {
caller.release();
} catch (e) {
console.log('Caller Release error ' + e);
}
console.log('Caller GetCaller Get ' + caller);
}).catch((e) => {
console.log('Caller GetCaller error ' + e);
});
}
}
```
## Caller.onRelease
onRelease(callback: OnReleaseCallBack): void;
注册通用组件服务端Stub断开监听通知。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | OnReleaseCallBack | 是 | 返回onRelease回调结果。 |
**示例:**
```js
import Ability from '@ohos.application.Ability';
var caller;
export default class MainAbility extends Ability {
onWindowStageCreate(windowStage) {
this.context.startAbilityByCall({
bundleName: "com.example.myservice",
abilityName: "com.example.myservice.MainAbility",
deviceId: ""
}).then((obj) => {
caller = obj;
try {
caller.onRelease((str) => {
console.log(' Caller OnRelease CallBack is called ' + str);
});
} catch (e) {
console.log('Caller Release error ' + e);
}
console.log('Caller GetCaller Get ' + caller);
}).catch((e) => {
console.log('Caller GetCaller error ' + e);
});
}
}
```
## Callee
通用组件服务端注册和解除客户端caller通知送信的callback接口。
## Callee.on
on(method: string, callback: CaleeCallBack): void;
通用组件服务端注册消息通知callback。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| method | string | 是 | 与客户端约定的通知消息字符串。 |
| callback | CaleeCallBack | 是 | 一个rpc.MessageParcel类型入参的js通知同步回调函数,&nbsp;回调函数至少要返回一个空的rpc.Sequenceable数据对象,&nbsp;其他视为函数执行错误。 |
**示例:**
```js
import Ability from '@ohos.application.Ability';
class MyMessageAble{
constructor(name, str) {
this.name = name;
this.str = str;
}
marshalling(messageParcel) {
messageParcel.writeInt(this.num);
messageParcel.writeString(this.str);
console.log('MyMessageAble marshalling num[' + this.num + '] str[' + this.str + ']');
return true;
}
unmarshalling(messageParcel) {
this.num = messageParcel.readInt();
this.str = messageParcel.readString();
console.log('MyMessageAble unmarshalling num[' + this.num + '] str[' + this.str + ']');
return true;
}
};
var method = 'call_Function';
function funcCallBack(pdata) {
console.log('Callee funcCallBack is called ' + pdata);
let msg = new MyMessageAble(0, "");
pdata.readSequenceable(msg);
return new MyMessageAble(10, "Callee test");
}
export default class MainAbility extends Ability {
onCreate(want, launchParam) {
console.log('Callee onCreate is called');
this.callee.on(method, funcCallBack);
}
}
```
## Callee.off
off(method: string): void;
解除通用组件服务端注册消息通知callback。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| method | string | 是 | 已注册的通知事件字符串。 |
**示例:**
```js
import Ability from '@ohos.application.Ability';
var method = 'call_Function';
export default class MainAbility extends Ability {
onCreate(want, launchParam) {
console.log('Callee onCreate is called');
this.callee.off(method);
}
}
```
## OnReleaseCallBack
(msg: string): void;
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| (msg: string) | function | 是 | 否 | 调用者注册的侦听器函数接口的原型。 |
## CaleeCallBack
(indata: rpc.MessageParcel): rpc.Sequenceable;
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| (indata: rpc.MessageParcel) | rpc.Sequenceable | 是 | 否 | 被调用方注册的消息侦听器函数接口的原型。 |
# AbilityConstant
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
启动参数的接口.
## 导入模块
```js
import AbilityConstant from '@ohos.application.AbilityConstant';
```
## 属性
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| launchReason | LaunchReason| 是 | 是 | 指示启动原因。 |
| lastExitReason | LastExitReason | 是 | 是 | 表示最后退出原因。 |
## AbilityConstant.LaunchReason
初次开始原因的类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 变量 | 值 | 说明 |
| ----------------------------- | ---- | ------------------------------------------------------------ |
| UNKNOWN | 0 | 未知的状态。 |
| START_ABILITY | 1 | 启动能力。 |
| CALL | 2 | 呼叫。 |
| CONTINUATION | 3 | 继续。 |
## AbilityConstant.LastExitReason
上次退出原因的类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 变量 | 值 | 说明 |
| ----------------------------- | ---- | ------------------------------------------------------------ |
| UNKNOWN | 0 | 未知的状态。 |
| ABILITY_NOT_RESPONDING | 1 | 能力没有反应 |
| NORMAL | 2 | 正常的状态。 |
## AbilityConstant.OnContinueResult
继续结果的类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 变量 | 值 | 说明 |
| ----------------------------- | ---- | ------------------------------------------------------------ |
| AGREE | 0 | 同意。 |
| REJECT | 1 | 拒绝。 |
| MISMATCH | 2 | 不匹配。|
# AbilityDelegator
> **说明**
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明**
>
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> API 9当前为Canary版本,仅供试用,不保证接口可稳定调用。
## 导入模块
......@@ -13,7 +15,517 @@ import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry
## AbilityDelegator
### startAbility
### addAbilityMonitor<sup>9+</sup>
addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<void>): void
添加AbilityMonitor实例(callback形式)
**系统能力:**SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填说明 | 说明 |
| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 |
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityMonitor(monitor, (err : any) => {
console.info("addAbilityMonitor callback");
});
```
### addAbilityMonitor<sup>9+</sup>
addAbilityMonitor(monitor: AbilityMonitor): Promise\<void>
添加AbilityMonitor实例(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\<void> | 以Promise形式返回。 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityMonitor(monitor).then(() => {
console.info("addAbilityMonitor promise");
});
```
### removeAbilityMonitor<sup>9+</sup>
removeAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<void>): void
删除已经添加的AbilityMonitor实例(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 |
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityMonitor(monitor, (err : any) => {
console.info("removeAbilityMonitor callback");
});
```
### removeAbilityMonitor<sup>9+</sup>
removeAbilityMonitor(monitor: AbilityMonitor): Promise\<void>
删除已经添加的AbilityMonitor实例(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\<void> | 以Promise形式返回。 |
- 示例
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityMonitor(monitor).then(() => {
console.info("removeAbilityMonitor promise");
});
```
### waitAbilityMonitor<sup>9+</sup>
waitAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<Ability>): void
等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 |
| callback | AsyncCallback\<[Ability](js-apis-application-ability.md#Ability)> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor, (err : any, data : any) => {
console.info("waitAbilityMonitor callback");
});
```
### waitAbilityMonitor<sup>9+</sup>
waitAbilityMonitor(monitor: AbilityMonitor, timeout: number, callback: AsyncCallback\<Ability>): void
设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 |
| timeout | number | 是 | 最大等待时间,单位毫秒(ms) |
| callback | AsyncCallback\<[Ability](js-apis-application-ability.md#Ability)> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var timeout = 100;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor, timeout, (err : any, data : any) => {
console.info("waitAbilityMonitor callback");
});
```
### waitAbilityMonitor<sup>9+</sup>
waitAbilityMonitor(monitor: AbilityMonitor, timeout?: number): Promise\<Ability>
设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 |
| timeout | number | 否 | 最大等待时间,单位毫秒(ms) |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | -------------------------- |
| Promise\<[Ability](js-apis-application-ability.md#Ability)> | 以Promise形式返回Ability。 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor).then((data : any) => {
console.info("waitAbilityMonitor promise");
});
```
### getAppContext<sup>9+</sup>
getAppContext(): Context
获取应用Context
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| ------------------------------------- | ------------------------------------------- |
| [Context](js-apis-Context.md#Context) | 应用[Context](js-apis-Context.md#Context)。 |
**示例:**
```js
var abilityDelegator;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
var context = abilityDelegator.getAppContext();
```
### getAbilityState<sup>9+</sup>
getAbilityState(ability: Ability): number
获取指定ability的生命周期状态
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------- | ---- | --------------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 指定Ability对象 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------------------------------------------------ |
| number | 指定ability的生命周期状态。状态枚举值使用[AbilityLifecycleState](js-apis-abilityDelegatorRegistry.md#AbilityLifecycleState)。 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
var state = abilityDelegator.getAbilityState(ability);
console.info("getAbilityState" + state);
});
```
### getCurrentTopAbility<sup>9+</sup>
getCurrentTopAbility(callback: AsyncCallback\<Ability>): void
获取当前应用顶部ability(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------ |
| callback | AsyncCallback\<[Ability](js-apis-application-ability.md#Ability)> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
});
```
### getCurrentTopAbility<sup>9+</sup>
getCurrentTopAbility(): Promise\<Ability>
获取当前应用顶部ability(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | -------------------------------------- |
| Promise\<[Ability](js-apis-application-ability.md#Ability)> | 以Promise形式返回当前应用顶部ability。 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility().then((data : any) => {
console.info("getCurrentTopAbility promise");
ability = data;
});
```
### doAbilityForeground<sup>9+</sup>
doAbilityForeground(ability: Ability, callback: AsyncCallback\<boolean>): void
调度指定ability生命周期状态到Foreground状态(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------------------- |
| ability | Ability | 是 | 指定Ability对象 |
| callback | AsyncCallback\<boolean> | 是 | 表示指定的回调方法<br/>\- true:成功<br/>\- false:失败 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityForeground(ability, (err : any, data : any) => {
console.info("doAbilityForeground callback");
});
});
```
### doAbilityForeground<sup>9+</sup>
doAbilityForeground(ability: Ability): Promise\<boolean>
调度指定ability生命周期状态到Foreground状态(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | --------------- |
| ability | Ability | 是 | 指定Ability对象 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| Promise\<boolean> | 以Promise形式返回执行结果。<br/>\- true:成功<br/>\- false:失败 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityForeground(ability).then((data : any) => {
console.info("doAbilityForeground promise");
});
});
```
### doAbilityBackground<sup>9+</sup>
doAbilityBackground(ability: Ability, callback: AsyncCallback\<boolean>): void
调度指定ability生命周期状态到Background状态(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------------------- |
| ability | Ability | 是 | 指定Ability对象 |
| callback | AsyncCallback\<boolean> | 是 | 表示指定的回调方法<br/>\- true:成功<br/>\- false:失败 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityBackground(ability, (err : any, data : any) => {
console.info("doAbilityBackground callback");
});
});
```
### doAbilityBackground<sup>9+</sup>
doAbilityBackground(ability: Ability): Promise\<boolean>
调度指定ability生命周期状态到Background状态(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | --------------- |
| ability | Ability | 是 | 指定Ability对象 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| Promise\<boolean> | 以Promise形式返回执行结果。<br/>\- true:成功<br/>\- false:失败 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityBackground(ability).then((data : any) => {
console.info("doAbilityBackground promise");
});
});
```
### startAbility<sup>9+</sup>
startAbility(want: Want, callback: AsyncCallback\<void>): void
......@@ -45,7 +557,7 @@ abilityDelegator.startAbility(want, (err, data) => {
### startAbility
### startAbility<sup>9+</sup>
startAbility(want: Want): Promise\<void>
......
# AbilityMonitor
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
## 导入模块
```js
import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
```
## AbilityMonitor
Ability监听器
**系统能力**:以下属性的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------------------------------------------------ | -------- | ---- | ---- | ------------------------------------------------------------ |
| abilityName | string | 是 | 是 | 当前AbilityMonitor绑定的ability名称 |
| onAbilityCreate?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability被启动初始化时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onAbilityForeground?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability状态变成前台时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onAbilityBackground?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability状态变成后台时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onAbilityDestroy?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability被销毁前的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onWindowStageCreate?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | window stage被创建时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onWindowStageRestore?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | window stage被重载时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onWindowStageDestroy?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | window stage被销毁前的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
# AbilityStage
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
AbilityStage是HAP包的运行时类。在HAP加载的时候,通知开发者,开发者可以在此进行该HAP的初始化(如资源预加载,线程创建等)。
## 导入模块
```js
import AbilityStage from '@ohos.application.AbilityStage';
```
## AbilityStage.onCreate
onCreate(): void
当应用创建时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**示例:**
```js
class MyAbilityStage extends AbilityStage {
onCreate() {
console.log("MyAbilityStage.onCreate is called")
}
}
```
## AbilityStage.onAcceptWant
onAcceptWant(want: Want): string;
启动一个specified ability时触发的事件。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want类型说明) | 是 | Want类型参数,传入需要启动的ability的信息,如ability名称,包名等。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| string | 用户返回一个ability标识,如果之前启动过次标识的ability,不创建新的实例并拉回栈顶,否则创建新的实例并启动。 |
**示例:**
```js
class MyAbilityStage extends AbilityStage {
onAcceptWant(want) {
console.log("MyAbilityStage.onAcceptWant called");
return "com.example.test";
}
}
```
## AbilityStage.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
环境变化通知接口,发生全局配置变更时回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](js-apis-configuration.md) | 是 | 发生全局配置变更时触发回调,当前全局配置包括系统语言、深浅色模式。 |
**示例:**
```js
class MyAbilityStage extends AbilityStage {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, language:' + config.language);
}
}
```
## AbilityStage.context
指示有关上下文的配置信息。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
| 属性名 | 类型 | 说明 |
| ----------- | --------------------------- | ------------------------------------------------------------ |
| context | [AbilityStageContext](js-apis-featureAbility.md) | 在启动能力阶段进行初始化时回调。 |
# Context
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
提供开发者运行代码的上下文环境,包括应用信息、ResourceManager等信息。
## 使用说明
通过AbilityContext等继承实现。
## 属性
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| resourceManager | ResourceManager | 是 | 否 | ResourceManager对象。 |
| applicationInfo | ApplicationInfo | 是 | 否 | 当前应用信息。 |
| cacheDir | string | 是 | 否 | 应用在内部存储上的缓存路径。 |
| tempDir | string | 是 | 否 | 应用的临时文件路径。 |
| filesDir | string | 是 | 否 | 应用在内部存储上的文件路径。 |
| databaseDir | string | 是 | 否 | 获取本地数据存储路径。 |
| storageDir | string | 是 | 否 | 获取轻量级数据存储路径。 |
| bundleCodeDir | string | 是 | 否 | 应用安装路径。 |
| distributedFilesDir | string | 是 | 否 | 应用的分布式文件路径。 |
| eventHub | [EventHub](js-apis-eventhub.md) | 是 | 否 | 事件中心信息。|
## Context.createBundleContext
createBundleContext(bundleName: string): Context;
创建指定应用上下文。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用bundle名。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Context | 对应创建应用的上下文context。 |
**示例:**
```js
let test = "com.example.test";
let context = this.context.createBundleContext(test);
```
## Context.getApplicationContext
getApplicationContext(): Context;
获取当前context。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Context | 当前Context&nbsp;信息。 |
**示例:**
```js
// 必选项。
let context = this.context.getApplicationContext();
```
## Context.switchArea
switchArea(mode: AreaMode): void
开启文件范围
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mode | [AreaMode](#AreaMode) | 是 | 应用bundle名。 |
**示例**
```js
var areaMode = 0
this.context.switchArea(areaMode);
```
## AreaMode
文件范围模式
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 值 |
| -------- | -------- | -------- |
| EL1 | number | 0 |
| EL2 | number | 1 |
\ No newline at end of file
......@@ -2,6 +2,8 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
## 权限列表
......@@ -147,6 +149,11 @@
| COMMON_EVENT_DISK_UNMOUNTABLE | usual.event.data.DISK_UNMOUNTABLE | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_EJECT | usual.event.data.DISK_EJECT | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_REMOVED | usual.event.data.VOLUME_REMOVED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_REMOVED<sup>9+</sup> | usual.event.data.VOLUME_REMOVED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_UNMOUNTED<sup>9+</sup> | usual.event.data.VOLUME_UNMOUNTED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_MOUNTED<sup>9+</sup> | usual.event.data.VOLUME_MOUNTED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_BAD_REMOVAL<sup>9+</sup> | usual.event.data.VOLUME_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_EJECT<sup>9+</sup> | usual.event.data.VOLUME_EJECT | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_UNMOUNTED | usual.event.data.VOLUME_UNMOUNTED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_MOUNTED | usual.event.data.VOLUME_MOUNTED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_BAD_REMOVAL | usual.event.data.VOLUME_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
......@@ -1165,6 +1172,58 @@ subscriber.getSubscribeInfo().then((SubscribeInfo) => {
});
```
### finishCommonEvent<sup>9+</sup>
finishCommonEvent(callback: AsyncCallback\<void>): void
结束当前有序事件(callback形式)。
**系统能力**:SystemCapability.Notification.CommonEvent
**参数:**
| 参数名 | 类型 | 必填 | 描述 |
| -------- | -------------------- | ---- | ---------------------- |
| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 |
**示例:**
```js
var subscriber; //创建成功的订阅者对象
function finishCommonEventCallback() {
console.log('finishCommonEvent');
}
subscriber.finishCommonEvent(finishCommonEventCallback);
```
### finishCommonEvent<sup>9+</sup>
finishCommonEvent(): Promise\<void>
结束当前有序事件(Promise形式)。
**系统能力**:SystemCapability.Notification.CommonEvent
**返回值:**
| 类型 | 说明 |
| ---------------- | -------------------- |
| Promise\<void> | 返回一个Promise的结果。 |
**示例:**
```js
var subscriber; //创建成功的订阅者对象
subscriber.finishCommonEvent().then(() => {
console.log('finishCommonEvent');
}).catch(() => {
console.log('finishCommonEvent failed');
})
```
## CommonEventData
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Notification.CommonEvent
......
......@@ -22,4 +22,7 @@ import Configuration from '@ohos.application.Configuration';
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| language | string | 是 | 是 | 表示应用程序的当前语言。 |
| colorMode | [ColorMode](js-apis-configurationconstant.md) | 是 | 是 | 表示深浅色模式,取值范围:浅色模式(COLOR_MODE_LIGHT),深色模式(COLOR_MODE_DARK)。默认为浅色。 |
\ No newline at end of file
| colorMode | [ColorMode](js-apis-configurationconstant.md) | 是 | 是 | 表示深浅色模式,取值范围:浅色模式(COLOR_MODE_LIGHT),深色模式(COLOR_MODE_DARK)。默认为浅色。 |
| direction<sup>9+</sup> | Direction | 是 | 否 | 表示屏幕方向,取值范围:水平方向(DIRECTION_HORIZONTAL),垂直方向(DIRECTION_VERTICAL)。 |
| screenDensity<sup>9+</sup> | ScreenDensity | 是 | 否 | 表示屏幕分辨率,取值范围:SCREEN_DENSITY_SDPI(120)、SCREEN_DENSITY_MDPI(160)、SCREEN_DENSITY_LDPI(240)、SCREEN_DENSITY_XLDPI(320)、SCREEN_DENSITY_XXLDPI(480)、SCREEN_DENSITY_XXXLDPI(640)。 |
| displayId<sup>9+</sup> | number | 是 | 否 | 表示应用所在的displayId。 |
\ No newline at end of file
......@@ -34,7 +34,7 @@ ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT
| COLOR_MODE_LIGHT | 1 | 浅色模式。 |
## ConfigurationConstant.Direction
## ConfigurationConstant.Direction<sup>9+</sup>
使用时通过ConfigurationConstant.Direction获取。
......@@ -48,12 +48,12 @@ ConfigurationConstant.Direction.DIRECTION_VERTICAL
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| DIRECTION_NOT_SET<sup>9+</sup> | -1 | 未设置方向。 |
| DIRECTION_VERTICAL<sup>9+</sup> | 0 | 垂直方向。 |
| DIRECTION_HORIZONTAL<sup>9+</sup> | 1 | 水平方向。 |
| DIRECTION_NOT_SET | -1 | 未设置方向。 |
| DIRECTION_VERTICAL | 0 | 垂直方向。 |
| DIRECTION_HORIZONTAL | 1 | 水平方向。 |
## ConfigurationConstant.ScreenDensity
## ConfigurationConstant.ScreenDensity<sup>9+</sup>
使用时通过ConfigurationConstant.ScreenDensity获取。
......@@ -67,10 +67,10 @@ ConfigurationConstant.ScreenDensity.SCREEN_DENSITY_NOT_SET
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| SCREEN_DENSITY_NOT_SET<sup>9+</sup> | 0 | 未设置屏幕分辨率。 |
| SCREEN_DENSITY_SDPI<sup>9+</sup> | 120 | 屏幕分辨率为"sdpi"。 |
| SCREEN_DENSITY_MDPI<sup>9+</sup> | 160 | 屏幕分辨率为"mdpi"。 |
| SCREEN_DENSITY_LDPI<sup>9+</sup> | 240 | 屏幕分辨率为"ldpi"。 |
| SCREEN_DENSITY_XLDPI<sup>9+</sup> | 320 | 屏幕分辨率为"xldpi"。 |
| SCREEN_DENSITY_XXLDPI<sup>9+</sup> | 480 | 屏幕分辨率为"xxldpi"。 |
| SCREEN_DENSITY_XXXLDPI<sup>9+</sup> | 640 | 屏幕分辨率为"xxxldpi"。 |
| SCREEN_DENSITY_NOT_SET | 0 | 未设置屏幕分辨率。 |
| SCREEN_DENSITY_SDPI | 120 | 屏幕分辨率为"sdpi"。 |
| SCREEN_DENSITY_MDPI | 160 | 屏幕分辨率为"mdpi"。 |
| SCREEN_DENSITY_LDPI | 240 | 屏幕分辨率为"ldpi"。 |
| SCREEN_DENSITY_XLDPI | 320 | 屏幕分辨率为"xldpi"。 |
| SCREEN_DENSITY_XXLDPI | 480 | 屏幕分辨率为"xxldpi"。 |
| SCREEN_DENSITY_XXXLDPI | 640 | 屏幕分辨率为"xxxldpi"。 |
# EventHub
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
事件中心,提供订阅、取消订阅、触发事件能力。
## 使用说明
​在使用eventHub的功能前,需要通过Ability实例的成员变量context获取。
```js
import Ability from '@ohos.application.Ability'
export default class MainAbility extends Ability {
onForeground() {
this.context.eventHub.on("123", this.func1);
}
}
```
## EventHub.on
on(event: string, callback: Function): void;
订阅指定事件。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| event | string | 是 | 事件名称。 |
| callback | Function | 是 | 事件回调,事件触发后运行。 |
**示例:**
```js
import Ability from '@ohos.application.Ability'
export default class MainAbility extends Ability {
onForeground() {
this.context.eventHub.on("123", this.func1);
this.context.eventHub.on("123", () => {
console.log("call anonymous func 1");
});
// 结果:
// func1 is called
// call anonymous func 1
this.context.eventHub.emit("123");
}
func1() {
console.log("func1 is called");
}
}
```
## EventHub.off
off(event: string, callback?: Function): void;
取消订阅指定事件。当callback传值时,取消订阅指定的callback;未传值时,取消订阅该事件下所有callback。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| event | string | 是 | 事件名称。 |
| callback | Function | 否 | 事件回调。如果不传callback,则取消订阅该事件下所有callback。 |
**示例:**
```js
import Ability from '@ohos.application.Ability'
export default class MainAbility extends Ability {
onForeground() {
this.context.eventHub.on("123", this.func1);
this.context.eventHub.off("123", this.func1); //取消订阅func1
this.context.eventHub.on("123", this.func1);
this.context.eventHub.on("123", this.func2);
this.context.eventHub.off("123"); //取消订阅func1和func2
}
func1() {
console.log("func1 is called");
}
func2() {
console.log("func2 is called");
}
}
```
## EventHub.emit
emit(event: string, ...args: Object[]): void;
触发指定事件。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| event | string | 是 | 事件名称。 |
| ...args | Object[] | 是 | 可变参数,事件触发时,传递给回调函数的参数。 |
**示例:**
```js
import Ability from '@ohos.application.Ability'
export default class MainAbility extends Ability {
onForeground() {
this.context.eventHub.on("123", this.func1);
// 结果:
// func1 is called,undefined,undefined
this.context.eventHub.emit("123");
// 结果:
// func1 is called,1,undefined
this.context.eventHub.emit("123", 1);
// 结果:
// func1 is called,1,2
this.context.eventHub.emit("123", 1, 2);
}
func1(a, b) {
console.log("func1 is called," + a + "," + b);
}
}
```
# ExtensionAbilityContext
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
ExtensionAbility的上下文环境,继承自Context。
## 属性
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| currentHapModuleInfo | HapModuleInfo | 是 | 否 | 当前Hap包的信息。 |
# ExtensionContext
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
Extension的上下文环境,继承自Context。
## 属性
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| config | Configuration | 是 | 否 | 显示的配置信息。 |
| currentHapModuleInfo | HapModuleInfo | 是 | 否 | 当前Hap包的信息。 |
# ExtensionAbilityInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
## AbilityInfo
Ability信息
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------------------- | --------------------- | ---- | ---- | ------------------------ |
| bundleName | string | 是 | 否 | 应用包名 |
| moduleName | string | 是 | 否 | Ability所属的HAP包的名称 |
| name | string | 是 | 否 | Ability名称 |
| labelId | number | 是 | 否 | Ability的标签id |
| descriptionId | number | 是 | 否 | Ability的描述id |
| iconId | number | 是 | 否 | Ability的图标id |
| isVisible | boolean | 是 | 否 | 判断Ability是否可以被其他应用调用 |
| extensionAbilityType | bundle.ExtensionAbilityType | 是 | 否 | ExtensionAbility类型 |
| permissions | Array\<string> | 是 | 否 | 被其他应用Ability调用时需要申请的权限集合 |
| applicationInfo | ApplicationInfo | 是 | 否 | 应用程序的配置信息 |
| metaData | Array\<Metadata> | 是 | 否 | ability的元信息 |
| enabled | boolean | 是 | 否 | ability是否可用 |
| readPermission | string | 是 | 否 | 读取Ability数据所需的权限 |
| writePermission | string | 是 | 否 | 向Ability写数据所需的权限 |
\ No newline at end of file
# ExtensionRunningInfo
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
Extension运行相关信息。
## 使用说明
通过abilityManager中方法获取。
```js
import abilitymanager from '@ohos.application.abilityManager';
abilitymanager.getExtensionRunningInfos(upperLimit, (err,data) => {
console.log("getExtensionRunningInfos err: " + err + " data: " + JSON.stringify(data));
});
```
### 属性
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| extension | ElementName | 是 | 否 | Extension匹配信息。 |
| pid | number | 是 | 否 | 进程ID。 |
| uid | number | 是 | 否 | 用户ID。 |
| processName | string | 是 | 否 | 进程名称。 |
| startTime | number | 是 | 否 | Extension启动时间。 |
| clientPackage | Array&lt;String&gt; | 是 | 否 | 表示当期进程下的所有包名。 |
| type | [bundle.ExtensionAbilityType](#bundleextensionabilitytype) | 是 | 否 | Extension类型。 |
## bundle.ExtensionAbilityType
Extension类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| FORM | 0 | 表示带有form类型的扩展信息。 |
| WORK_SCHEDULER | 1 | 表示带有work&nbsp;scheduler类型的扩展信息。 |
| INPUT_METHOD | 2 | 表示用输入法类型的扩展信息。 |
| SERVICE | 3 | 表示带有service类型的扩展信息。 |
| ACCESSIBILITY | 4 | 表示具有可访问性类型的扩展信息。 |
| DATA_SHARE | 5 | 表示带有datashare类型的扩展信息。 |
| FILE_SHARE | 6 | 表示带有fileshare类型的扩展信息。 |
| STATIC_SUBSCRIBER | 7 | 表示带有静态订阅者类型的扩展信息。 |
| WALLPAPER | 8 | 表示带有wallpaper类型的扩展信息。 |
| UNSPECIFIED | 9 | 表示未指定类型信息。 |
......@@ -2,6 +2,8 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
## 使用限制
......@@ -925,6 +927,8 @@ featureAbility.AbilityStartSetting.BOUNDS_KEY
| action | 只读 | string | 否 | 表示action选项描述。 |
| parameters | 只读 | {[key: string]: any} | 否 | 表示WantParams描述。 |
| entities | 只读 | Array\<string> | 否 | 表示entities相关描述。 |
| extensionAbilityType<sup>9+</sup> | 只读 | bundle.ExtensionAbilityType | 否 | ExtensionAbility类型 |
| extensionAbilityName<sup>9+<sup> | 只读 | string | 否 | Want中扩展能力名称的描述。 |
## flags说明
......
# FormExtension
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
提供FormExtension卡片扩展相关接口。
## 导入模块
```
import FormExtension from '@ohos.application.FormExtension';
```
## 权限
## 属性
**系统能力**:SystemCapability.Ability.Form
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------- | ------------------------------------------------------- | ---- | ---- | --------------------------------------------------- |
| context | [FormExtensionContext](js-apis-formextensioncontext.md) | 是 | 否 | FormExtension的上下文环境,继承自ExtensionContext。 |
## onCreate
onCreate(want: Want): formBindingData.FormBindingData
卡片提供方接收创建卡片的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------------- | ---- | ------------------------------------------------------------ |
| want | [Want](js-apis-featureAbility.md#want) | 是 | 当前Extension相关的Want类型信息,包括卡片ID、卡片名称、卡片样式等。这些卡片信息必须作为持久数据进行管理,以便后续更新和删除卡片。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------------------- |
| [formBindingData.FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 一个formBindingData.FormBindingData对象,卡片要显示的数据。 |
**示例:**
```js
export default class MyFormExtension extends FormExtension {
onCreate(want) {
console.log('FormExtension onCreate, want:' + want.abilityName);
let dataObj1 = {
temperature:"11c",
"time":"11:00"
};
let obj1 = formBindingData.createFormBindingData(dataObj1);
return obj1;
}
}
```
## FormExtension.onCastToNormal
onCastToNormal(formId: string): void
卡片提供方接收临时卡片转常态卡片的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------ |
| formId | string | 是 | 请求转换为常态的卡片ID。 |
**示例:**
```
export default class MyFormExtension extends FormExtension {
onCastToNormal(formId) {
console.log('FormExtension onCastToNormal, formId:' + formId);
}
}
```
## FormExtension.onUpdate
onUpdate(formId: string): void
卡片提供方接收更新卡片的通知接口。获取最新数据后调用[FormExtensionContext](js-apis-formextensioncontext.md)的updateForm接口刷新卡片数据。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| formId | string | 是 | 请求更新的卡片ID。 |
**示例:**
```js
export default class MyFormExtension extends FormExtension {
onUpdate(formId) {
console.log('FormExtension onUpdate, formId:' + formId);
let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
this.context.updateForm(formId, obj2)
.then((data)=>{
console.log('FormExtension context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);});
}
}
```
## FormExtension.onVisibilityChange
onVisibilityChange(newStatus: { [key: string]: number }): void
卡片提供方接收修改可见性的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------- | ---- | ---------------------------- |
| newStatus | { [key: string]: number } | 是 | 请求修改的卡片ID和可见状态。 |
**示例:**
```js
export default class MyFormExtension extends FormExtension {
onVisibilityChange(newStatus) {
console.log('FormExtension onVisibilityChange, newStatus:' + newStatus);
let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
for (let key in newStatus) {
console.log('FormExtension onVisibilityChange, key:' + key + ", value=" + newStatus[key]);
this.context.updateForm(key, obj2)
.then((data)=>{
console.log('FormExtension context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);});
}
}
}
```
## FormExtension.onEvent
onEvent(formId: string, message: string): void
卡片提供方接收处理卡片事件的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ---------------------- |
| formId | string | 是 | 请求触发事件的卡片ID。 |
| message | string | 是 | 事件消息。 |
**示例:**
```js
export default class MyFormExtension extends FormExtension {
onEvent(formId, message) {
console.log('FormExtension onEvent, formId:' + formId + ", message:" + message);
}
}
```
## FormExtension.onDestroy
onDestroy(formId: string): void
卡片提供方接收销毁卡片的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| formId | string | 是 | 请求销毁的卡片ID。 |
**示例:**
```js
export default class MyFormExtension extends FormExtension {
onDestroy(formId) {
console.log('FormExtension onDestroy, formId:' + formId);
}
}
```
## FormExtension.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
当系统配置更新时调用。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](#section188911144124715) | 是 | 表示需要更新的配置信息。 |
**示例:**
```js
class MyFormExtension extends MyFormExtension {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, config:' + JSON.stringify(config));
}
}
```
\ No newline at end of file
# PermissionRequestResult
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
权限请求结果。
## 属性
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| permissions | Array&lt;string&gt; | 是 | 否 | 用户传入的权限。|
| authResults | Array&lt;number&gt; | 是 | 否 | 相应请求权限的结果。0表示授权成功,-1表示失败。 |
# ServiceExtensionAbility
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
提供ServiceExtension服务扩展相关接口。
## 导入模块
```
import ServiceExtension from '@ohos.application.ServiceExtensionAbility';
```
## 权限
## 属性
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| context | [ServiceExtensionContext](js-apis-service-extension-context.md) | 是 | 否 | ServiceExtension的上下文环境,继承自ExtensionContext。 |
## ServiceExtensionAbility.onCreate
onCreate(want: Want): void;
Extension生命周期回调,在创建时回调,执行初始化业务逻辑操作。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want) | 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 |
**示例:**
```js
class ServiceExt extends ServiceExtension {
onCreate(want) {
console.log('onCreate, want:' + want.abilityName);
}
}
```
## ServiceExtensionAbility.onDestroy
onDestroy(): void;
Extension生命周期回调,在销毁时回调,执行资源清理等操作。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**示例:**
```js
class ServiceExt extends ServiceExtension {
onDestroy() {
console.log('onDestroy');
}
}
```
## ServiceExtensionAbility.onRequest
onRequest(want: Want, startId: number): void;
Extension生命周期回调,如果是startAbility拉起的服务,会在onCreate之后回调。每次拉起服务都会回调,startId会递增。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want) | 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 |
| startId | number | 是 | 返回拉起次数。首次拉起初始值返回1,多次之后自动递增。 |
**示例:**
```js
class ServiceExt extends ServiceExtension {
onRequest(want, startId) {
console.log('onRequest, want:' + want.abilityName);
}
}
```
## ServiceExtensionAbility.onConnect
onConnect(want: Want): rpc.RemoteObject;
Extension生命周期回调,如果是connectAbility拉起的服务,会在onCreate之后回调。返回一个RemoteObject对象,用于和客户端进行通信。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want)| 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| rpc.RemoteObject | 一个RemoteObject对象,用于和客户端进行通信。 |
**示例:**
```js
import rpc from '@ohos.rpc'
class StubTest extends rpc.RemoteObject{
constructor(des) {
super(des);
}
onRemoteRequest(code, data, reply, option) {
}
}
class ServiceExt extends ServiceExtension {
onConnect(want) {
console.log('onConnect , want:' + want.abilityName);
return new StubTest("test");
}
}
```
## ServiceExtensionAbility.onDisconnect
onDisconnect(want: Want): void;
Extension的生命周期,断开服务连接时回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want |[Want](js-apis-featureAbility.md#Want)| 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 |
**示例:**
```js
class ServiceExt extends ServiceExtension {
onDisconnect(want) {
console.log('onDisconnect, want:' + want.abilityName);
}
}
```
## ServiceExtensionAbility.onReconnect
onReconnect(want: Want): void;
Extension的生命周期,重连服务连接时回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want |[Want](js-apis-featureAbility.md#Want)| 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 |
**示例:**
```js
class ServiceExt extends ServiceExtension {
onReconnect(want) {
console.log('onReconnect, want:' + want.abilityName);
}
}
```
## ServiceExtensionAbility.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
更新系统配置时的回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | Configuration | 是 | 更新的配置。 |
**示例:**
```js
class ServiceExt extends ServiceExtension {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, config:' + config);
}
}
```
# ServiceExtAbilityContext
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
## 属性
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| extensionAbilityInfo | ExtensionAbilityInfo | 是 | 否 | ExtensionAbility信息。 |
## startAbility
startAbility(want: Want, callback: AsyncCallback&lt;void&gt;): void
启动Ability。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回启动结果。 |
**示例**
```js
var want = {
"deviceId": "",
"bundleName": "com.extreme.test",
"abilityName": "com.extreme.test.MainAbility"
};
this.context.startAbility(want, (error) => {
console.log("error.code = " + error.code)
})
```
## startAbility
startAbility(want: Want, options: StartOptions, callback: AsyncCallback&lt;void&gt;): void
启动Ability(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 |
| options | StartOptions | 是 | 启动Ability所携带的参数。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回启动结果。 |
**示例**
```js
var want = {
"deviceId": "",
"bundleName": "com.extreme.test",
"abilityName": "com.extreme.test.MainAbility"
};
var options = {
windowMode: 0,
};
this.context.startAbility(want, options, (error) => {
console.log("error.code = " + error.code)
})
```
## startAbility
startAbility(want: Want, options: StartOptions): Promise&lt;void&gt;
启动Ability(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 |
| options | StartOptions | 是 | 启动Ability所携带的参数。 |
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise形式返回启动结果。 |
**示例**
```js
var want = {
"deviceId": "",
"bundleName": "com.extreme.test",
"abilityName": "com.extreme.test.MainAbility"
};
var options = {
windowMode: 0,
};
this.context.startAbility(want, options)
.then((data) => {
console.log('Operation successful.')
}).catch((error) => {
console.log('Operation failed.');
})
```
## startAbilityWithAccount
startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback\<void>): void
通过账户启动Ability(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 |
| accountId | number | 是 | 账户ID。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回启动结果。 |
**示例**
```js
var want = {
"deviceId": "",
"bundleName": "com.extreme.test",
"abilityName": "com.extreme.test.MainAbility"
};
var accountId = 11;
this.context.startAbility(want, accountId, (error) => {
console.log("error.code = " + error.code)
})
```
## startAbilityWithAccount
startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback\<void>): void
通过账户启动Ability(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 |
| accountId | number | 是 | 账户ID。 |
| options | StartOptions | 是 | 启动Ability所携带的参数。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回启动结果。 |
**示例**
```js
var want = {
"deviceId": "",
"bundleName": "com.extreme.test",
"abilityName": "com.extreme.test.MainAbility"
};
var options = {
windowMode: 0,
};
var accountId = 11;
this.context.startAbility(want, accountId, options, (error) => {
console.log("error.code = " + error.code)
})
```
## startAbilityWithAccount
startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): Promise\<void>
通过账户启动Ability(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 |
| accountId | number | 是 | 账户ID。 |
| options | StartOptions | 否 | 启动Ability所携带的参数。 |
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise形式返回启动结果。 |
**示例**
```js
var want = {
"deviceId": "",
"bundleName": "com.extreme.test",
"abilityName": "com.extreme.test.MainAbility"
};
var options = {
windowMode: 0,
};
var accountId = 11;
this.context.startAbility(want, accountId, options)
.then((data) => {
console.log('Operation successful.')
}).catch((error) => {
console.log('Operation failed.');
})
```
## terminateSelf
terminateSelf(callback: AsyncCallback&lt;void&gt;): void
停止Ability自身(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,返回接口调用是否成功的结果。 |
**示例**
```js
this.context.terminateSelf((err) => {
console.log('terminateSelf result:' + JSON.stringfy(err));
});
```
## terminateSelf
terminateSelf(): Promise&lt;void&gt;
停止Ability自身(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果。 |
**示例**
```js
this.context.terminateSelf(want).then((data) => {
console.log('success:' + JSON.stringfy(data));
}).catch((error) => {
console.log('failed:' + JSON.stringfy(error));
});
```
## connectAbility
connectAbility(want: Want, options: ConnectOptions): number
使用AbilityInfo.AbilityType.SERVICE模板将当前能力连接到一个能力。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 |
| options | ConnectOptions | 是 | 连接的远端对象实例 |
**返回值**:
| 类型 | 说明 |
| -------- | -------- |
| number | 连接Ability的代码 |
**示例**
```js
var want = {
"deviceId": "",
"bundleName": "com.extreme.test",
"abilityName": "com.extreme.test.MainAbility"
}
var options = {
onConnect: (elementName, remote) => {
console.log('connectAbility onConnect, elementName: ' + elementName + ', remote: ' remote)
},
onDisconnect: (elementName) => {
console.log('connectAbility onDisconnect, elementName: ' + elementName)
},
onFailed: (code) => {
console.log('connectAbility onFailed, code: ' + code)
}
}
this.context.connectAbility(want, options) {
console.log('code: ' + code)
}
```
## connectAbilityWithAccount
connectAbilityWithAccount(want: Want, accountId: number, options: ConnectOptions): number
使用AbilityInfo.AbilityType.SERVICE模板和账户ID将当前能力连接到一个能力。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 |
| accountId | number | 是 | 账户ID |
| options | ConnectOptions | 是 | 连接的远端对象实例 |
**返回值**:
| 类型 | 说明 |
| -------- | -------- |
| number | 连接Ability的代码 |
**示例**
```js
var want = {
"deviceId": "",
"bundleName": "com.extreme.test",
"abilityName": "com.extreme.test.MainAbility"
}
var accountId = 111;
var options = {
onConnect: (elementName, remote) => {
console.log('connectAbility onConnect, elementName: ' + elementName + ', remote: ' remote)
},
onDisconnect: (elementName) => {
console.log('connectAbility onDisconnect, elementName: ' + elementName)
},
onFailed: (code) => {
console.log('connectAbility onFailed, code: ' + code)
}
}
this.context.connectAbility(want, accountId, options) {
console.log('code: ' + code)
}
```
## disconnectAbility
disconnectAbility(connection: number, callback:AsyncCallback<void>): void
断开Ability连接(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| connection | number | 是 | 连接的Ability的编号。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 断开Ability连接的回调函数。 |
**示例**
```js
var connection = 111;
this.context.disconnectAbility(connection, () => {
console.log('disconnection')
})
```
## disconnectAbility
disconnectAbility(connection: number): Promise<void>
断开Ability连接(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| connection | number | 是 | 连接的Ability的编号。 |
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise。 |
**示例**
```js
var connection = 111;
this.context.disconnectAbility(connection).then(() => {
console.log('disconnect success')
}).catch((err) => {
console.log('disconnect filed')
})
```
\ No newline at end of file
# uriPermissionManager
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明**
>
> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
Uri权限管理。
## 导入模块
```
import uriPermissionManager from '@ohos.application.uriPermissionManager';
```
## uriPermissionManager.verifyUriPermission
verifyUriPermission(uri: string, flag: wantConstant.Flags, accessTokenId: number, callback: AsyncCallback&lt;number&gt;): void
检验某个应用是否对指定的uri有flag指定的权限。
**系统能力:**
SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| uri | string | 是 | 指向文件的uri,例如fileshare:///com.samples.filesharetest.FileShare/person/10。 |
| flag | wantConstant.Flags | 是 | uri的读权限或写权限。 |
| accessTokenId | number | 是 | 每个应用的唯一标识ID,开发者通过包管理接口自行获取。 |
| callback | AsyncCallback&lt;number&gt; | 是 | callback形式返回检验结果,返回0表示有权限,返回-1表示无权限。 |
**示例:**
```js
let uri = "fileshare:///com.samples.filesharetest.FileShare/person/10"
UriPermissionManager.verifyUriPermission(uri, wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, accessTokenId, (result) => {
console.log("result.code = " + result.code)
}) // accessTokenId开发者通过包管理接口自行获取
```
## uriPermissionManager.verifyUriPermission
verifyUriPermission(uri: string, flag: wantConstant.Flags, accessTokenId: number): Promise&lt;number&gt;
检验某个应用是否对指定的uri有flag指定的权限。
**系统能力:**
SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| uri | string | 是 | 指向文件的uri,例如fileshare:///com.samples.filesharetest.FileShare/person/10。 |
| flag | wantConstant.Flags | 是 | uri的读权限或写权限。 |
| accessTokenId | number | 是 | 每个应用的唯一标识ID,开发者通过包管理接口自行获取。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;number&gt; | 返回0表示有权限,返回-1表示无权限。 |
**示例:**
```js
let uri = "fileshare:///com.samples.filesharetest.FileShare/person/10"
UriPermissionManager.verifyUriPermission(uri, wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, accessTokenId)
.then((data) => {
console.log('Verification succeeded.' + data)
}).catch((error) => {
console.log('Verification failed.');
})
```
......@@ -3,6 +3,8 @@
>**说明:**
>
>本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。
## 导入模块
......@@ -916,6 +918,135 @@ WantAgent.equal(wantAgent1, wantAgent2).then((data) => {
```
## WantAgent.getOperationType<sup>9+</sup>
getOperationType(agent: WantAgent, callback: AsyncCallback<number>): void
获取一个WantAgent的OperationType信息(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<number> | 是 | 获取一个WantAgent的OperationType信息的回调方法。 |
**示例**
```js
import WantAgent from '@ohos.wantAgent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getOperationType(wantAgent, (OperationType) => {
console.log('----------- getOperationType ----------, OperationType: ' + OperationType);
})
```
## WantAgent.getOperationType<sup>9+</sup>
getOperationType(agent: WantAgent): Promise<number>
获取一个WantAgent的OperationType信息(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<number\> | 以Promise形式返回获取optionType的结果。 |
**示例**
```js
import WantAgent from '@ohos.wantAgent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getOperationType(wantAgent).then((OperationType) => {
console.log('getOperationType success, OperationType: ' + OperationType);
}).catch((err) => {
console.log('getOperationType fail, err: ' + err);
})
```
## WantAgentInfo
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册