From c8b09739ff424e78c160d191b5a468a5ba430b2a Mon Sep 17 00:00:00 2001 From: xuzhihao Date: Thu, 28 Apr 2022 15:21:44 +0800 Subject: [PATCH] update interfaces of API 9 Signed-off-by: xuzhihao --- .../reference/apis/js-apis-ability-context.md | 847 ++++++++++++++++++ .../reference/apis/js-apis-abilityManager.md | 198 ++++ .../apis/js-apis-abilityStageContext.md | 32 + ...s-application-DataShareExtensionAbility.md | 348 +++++++ .../apis/js-apis-application-StartOptions.md | 31 + .../apis/js-apis-application-Want.md | 6 +- .../apis/js-apis-application-ability.md | 592 ++++++++++++ .../js-apis-application-abilityConstant.md | 65 ++ .../js-apis-application-abilityDelegator.md | 518 ++++++++++- .../js-apis-application-abilityMonitor.md | 32 + .../apis/js-apis-application-abilitystage.md | 103 +++ .../apis/js-apis-applicationContext.md | 116 +++ .../reference/apis/js-apis-commonEvent.md | 59 ++ .../reference/apis/js-apis-configuration.md | 5 +- .../apis/js-apis-configurationconstant.md | 24 +- .../reference/apis/js-apis-eventhub.md | 141 +++ .../apis/js-apis-extension-ability-context.md | 17 + .../apis/js-apis-extension-context.md | 18 + .../apis/js-apis-extensionAbilityInfo.md | 28 + .../apis/js-apis-extensionrunninginfo.md | 56 ++ .../reference/apis/js-apis-featureAbility.md | 4 + .../reference/apis/js-apis-formextension.md | 223 +++++ .../apis/js-apis-permissionrequestresult.md | 18 + .../apis/js-apis-service-extension-ability.md | 213 +++++ .../apis/js-apis-serviceExtAbilityContext.md | 414 +++++++++ .../apis/js-apis-uripermissionmanager.md | 83 ++ .../reference/apis/js-apis-wantAgent.md | 131 +++ 27 files changed, 4305 insertions(+), 17 deletions(-) create mode 100644 zh-cn/application-dev/reference/apis/js-apis-ability-context.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-abilityManager.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-abilityStageContext.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-application-StartOptions.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-application-ability.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-application-abilityConstant.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-application-abilityMonitor.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-application-abilitystage.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-applicationContext.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-eventhub.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-extension-ability-context.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-extension-context.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-extensionAbilityInfo.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-extensionrunninginfo.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-formextension.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-service-extension-ability.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-serviceExtAbilityContext.md create mode 100644 zh-cn/application-dev/reference/apis/js-apis-uripermissionmanager.md diff --git a/zh-cn/application-dev/reference/apis/js-apis-ability-context.md b/zh-cn/application-dev/reference/apis/js-apis-ability-context.md new file mode 100644 index 0000000000..1370cd2200 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-ability-context.md @@ -0,0 +1,847 @@ +# Ability Context + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。 + +Ability的上下文环境,继承自Context。 + +## 使用说明 +在使用AbilityContext的功能前,需要通过Ability子类实例获取。 +```js +import Ability from '@ohos.application.Ability' +class MainAbility extends Ability { + onWindowStageCreate(windowStage) { + let context = this.context; + } +} +``` + +## 属性 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core + +| 名称 | 参数类型 | 可读 | 可写 | 描述 | +| --------------------- | --------------- | ------ | ------- | ----------------------------------- | +| config | Configuration | 是 | 否 | 显示的配置信息。 | +| abilityInfo | AbilityInfo | 是 | 否 | Abilityinfo相关信息。 | +| currentHapModuleInfo | HapModuleInfo | 是 | 否 | 当前hap包的信息。 | + + +## startAbility + +startAbility(want: Want, callback: AsyncCallback<void>): void + +启动Ability。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| callback | AsyncCallback<void> | 是 | 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<void>): void + +启动Ability(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| options | StartOptions | 是 | 启动Ability所携带的参数。 | +| callback | AsyncCallback<void> | 是 | 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<void> + +启动Ability(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| options | StartOptions | 是 | 启动Ability所携带的参数。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 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.'); +}) +``` + +## startAbilityByCall + +startAbilityByCall(want: Want): Promise<Caller> + +获取指定通用组件服务端的caller通信接口, 并且将指定通用组件服务端拉起并切换到后台。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 传入需要启动的ability的信息,包含ability名称、包名、设备ID,设备ID缺省或为空表示启动本地ability。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<Caller> | 获取要通讯的caller对象。 | + +**示例**: + +```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; + console.log('Caller GetCaller Get ' + call); + }).catch((e) => { + console.log('Caller GetCaller error ' + e); + }); + } +} +``` + +## startAbilityWithAccount + +startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback\): void + +通过账户启动Ability(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| accountId | number | 是 | 账户ID。 | +| callback | AsyncCallback<void> | 是 | 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 + +通过账户启动Ability(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| accountId | number | 是 | 账户ID。 | +| options | StartOptions | 是 | 启动Ability所携带的参数。 | +| callback | AsyncCallback<void> | 是 | 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\ + +通过账户启动Ability(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| accountId | number | 是 | 账户ID。 | +| options | StartOptions | 否 | 启动Ability所携带的参数。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 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.'); +}) +``` + +## startAbilityForResult + +startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): void + +启动Ability并在结束的时候返回执行结果(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want |[Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| callback | AsyncCallback<[AbilityResult](js-apis-featureAbility.md#AbilityResult)> | 是 | 执行结果回调函数。 | + +**示例**: + +```js +this.context.startAbilityForResult( + {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}, + (error, result) => { + console.log("startAbilityForResult AsyncCallback is called, error.code = " + error.code) + console.log("startAbilityForResult AsyncCallback is called, result.resultCode = " + result.resultCode) + } +); +``` + +## startAbilityForResult + +startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback<AbilityResult>): void + +启动Ability并在结束的时候返回执行结果(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want |[Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| options | StartOptions | 是 | 启动Ability所携带的参数。 | +| callback | AsyncCallback<[AbilityResult](js-apis-featureAbility.md#AbilityResult)> | 是 | 执行结果回调函数。 | + +**示例**: + +```js +var options = { + windowMode: 0, +}; +this.context.startAbilityForResult( + {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}, options, + (error, result) => { + console.log("startAbilityForResult AsyncCallback is called, error.code = " + error.code) + console.log("startAbilityForResult AsyncCallback is called, result.resultCode = " + result.resultCode) + } +); +``` + + +## startAbilityForResult + +startAbilityForResult(want: Want, options: StartOptions): Promise<AbilityResult>; + +启动Ability并在结束的时候返回执行结果(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| options | StartOptions | 是 | 启动Ability所携带的参数。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<[AbilityResult](js-apis-featureAbility.md#AbilityResult)> | Promise形式返回执行结果。 | + +**示例**: +```js +var options = { + windowMode: 0, +}; +this.context.startAbilityForResult({bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}, options).then((result) => { + console.log("startAbilityForResult Promise.resolve is called, result.resultCode = " + result.resultCode) +}, (error) => { + console.log("startAbilityForResult Promise.Reject is called, error.code = " + error.code) +}) +``` + +## startAbilityForResultWithAccount + +startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncCallback\): void + +通过账户启动Ability并在结束的时候返回执行结果(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want |[Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| accountId | number | 是 | 账户ID。 | +| callback | AsyncCallback<[AbilityResult](js-apis-featureAbility.md#AbilityResult)> | 是 | 执行结果回调函数。 | + +**示例**: + +```js +var accountId = 111; +this.context.startAbilityForResult( + {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}, + accountId, + (error, result) => { + console.log("startAbilityForResult AsyncCallback is called, error.code = " + error.code) + console.log("startAbilityForResult AsyncCallback is called, result.resultCode = " + result.resultCode) + } +); +``` + +## startAbilityForResultWithAccount + +startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback\): void + +通过账户启动Ability并在结束的时候返回执行结果(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want |[Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| accountId | number | 是 | 账户ID。 | +| options | StartOptions | 是 | 启动Ability所携带的参数。 | +| callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | + +**示例**: + +```js +var options = { + windowMode: 0, +}; +var accountId = 111; +this.context.startAbilityForResult( + {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}, + accountId, + options, + () => { + console.log("startAbilityForResult AsyncCallback is called") + } +); +``` + +## startAbilityForResultWithAccount + +startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartOptions): Promise\; + +通过账户启动Ability并在结束的时候返回执行结果(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| accountId | number | 是 | 账户ID。 | +| options | StartOptions | 是 | 启动Ability所携带的参数。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<[AbilityResult](js-apis-featureAbility.md#AbilityResult)> | Promise形式返回执行结果。 | + +**示例**: + +```js +var accountId = 111; +var options = { + windowMode: 0, +}; +this.context.startAbilityForResult({bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo2"}, accountId, options).then((result) => { + console.log("startAbilityForResult Promise.resolve is called, result.resultCode = " + result.resultCode) +}, (error) => { + console.log("startAbilityForResult Promise.Reject is called, error.code = " + error.code) +}) +``` + +## terminateSelf + +terminateSelf(callback: AsyncCallback<void>): void + +停止Ability自身(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| callback | AsyncCallback<void> | 是 | 回调函数,返回接口调用是否成功的结果。 | + +**示例**: + +```js +this.context.terminateSelf((err) => { + console.log('terminateSelf result:' + JSON.stringfy(err)); +}); +``` + +## terminateSelf + +terminateSelf(): Promise<void> + +停止Ability自身(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 返回一个Promise,包含接口的结果。 | + +**示例**: + +```js +this.context.terminateSelf(want).then((data) => { + console.log('success:' + JSON.stringfy(data)); +}).catch((error) => { + console.log('failed:' + JSON.stringfy(error)); +}); +``` + +## terminateSelfWithResult + +terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback<void>): void + +停止Ability,并返回给调用startAbilityForResult 接口调用方的相关信息(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| parameter | [AbilityResult](js-apis-featureAbility.md#AbilityResult) | 是 | 返回给调用startAbilityForResult 接口调用方的相关信息。 | +| callback | AsyncCallback<void> | 是 | callback形式返回停止结果。 | + +**示例**: + +```js +this.context.terminateSelfWithResult( + { + want: {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo"}, + resultCode: 100 + }, (error) => { + console.log("terminateSelfWithResult is called = " + error.code) + } +); +``` + + +## terminateSelfWithResult + +terminateSelfWithResult(parameter: AbilityResult): Promise<void> + +停止Ability,并返回给调用startAbilityForResult 接口相关信息(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| parameter | [AbilityResult](js-apis-featureAbility.md#AbilityResult) | 是 | 返回给startAbilityForResult 调用方的信息。 | + +**返回值**: +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | promise形式返回停止结果。 | + +**示例**: +```js +this.context.terminateSelfWithResult( +{ + want: {bundleName: "com.extreme.myapplication", abilityName: "MainAbilityDemo"}, + resultCode: 100 +}).then((result) => { + console.log("terminateSelfWithResult") +}) +``` + +## 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 + +断开Ability连接(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| connection | number | 是 | 连接的Ability的编号。 | +| callback | AsyncCallback<void> | 是 | 断开Ability连接的回调函数。 | + +**示例**: + +```js +var connection = 111; +this.context.disconnectAbility(connection, () => { + console.log('disconnection') +}) +``` + +## disconnectAbility + +disconnectAbility(connection: number): Promise + +断开Ability连接(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| connection | number | 是 | 连接的Ability的编号。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 返回一个Promise。 | + +**示例**: + +```js +var connection = 111; +this.context.disconnectAbility(connection).then(() => { + console.log('disconnect success') +}).catch((err) => { + console.log('disconnect filed') +}) +``` + +## setMissionLabel + +setMissionLabel(label: string, callback:AsyncCallback<void>): void + +设置ability在任务中显示的名称(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| label | string | 是 | 显示名称。 | +| callback | AsyncCallback<void> | 是 | 回调函数,返回接口调用是否成功的结果。 | + +**示例**: + +```js +this.context.setMissionLabel("test",(result) => { + console.log('requestPermissionsFromUserresult:' + JSON.stringfy(result)); +}); +``` + + +## setMissionLabel + +setMissionLabel(label: string): Promise\ + +设置ability在任务中显示的名称(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| label | string | 是 | 显示名称。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 返回一个Promise,包含接口的结果。 | + +**示例**: + +```js +this.context.setMissionLabel("test").then((data) => { + console.log('success:' + JSON.stringfy(data)); +}).catch((error) => { + console.log('failed:' + JSON.stringfy(error)); +}); +``` + +## requestPermissionsFromUser + +requestPermissionsFromUser(permissions: Array<string>, requestCallback: AsyncCallback<PermissionRequestResult>) : void + +拉起弹窗请求用户授权(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| permissions | Array<string> | 是 | 权限列表。 | +| callback | AsyncCallback<PermissionRequestResult> | 是 | 回调函数,返回接口调用是否成功的结果。 | + +**示例**: + +```js +this.context.requestPermissionsFromUser(permissions,(result) => { + console.log('requestPermissionsFromUserresult:' + JSON.stringfy(result)); +}); +``` + + +## requestPermissionsFromUser + +requestPermissionsFromUser(permissions: Array<string>) : Promise<PermissionRequestResult> + +拉起弹窗请求用户授权。通过Promise返回结果。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| permissions | Array<string> | 是 | 权限列表。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<PermissionRequestResult> | 返回一个Promise,包含接口的结果。 | + +**示例**: + +```js +this.context.requestPermissionsFromUser(permissions).then((data) => { + console.log('success:' + JSON.stringfy(data)); +}).catch((error) => { + console.log('failed:' + JSON.stringfy(error)); +}); +``` + +## restoreWindowStage + +restoreWindowStage(contentStorage: ContentStorage) : void + +恢复Ability延续中的窗口阶段数据。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| contentStorage | ContentStorage | 是 | 用于恢复窗口阶段的存储数据。 | + +**示例**: + +```js +var contentStorage = { + "link": 'link', +}; +this.context.restoreWindowStage(contentStorage); +``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-abilityManager.md b/zh-cn/application-dev/reference/apis/js-apis-abilityManager.md new file mode 100644 index 0000000000..0f8c0df7bb --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-abilityManager.md @@ -0,0 +1,198 @@ +# 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 + +通过修改配置来更新配置(callback形式)。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 名称 | 类型 | 必填 | 描述 | +| --------- | ---------------------------------------- | ---- | -------------- | +| config | Configuration | 是 | 新的配置项。 | +| callback | AsyncCallback\ | 是 | 被指定的回调方法。 | + +**示例**: + +```js +import abilitymanager from '@ohos.application.abilityManager'; + +var config = { + language: 'chinese' +} + +abilitymanager.updateConfiguration(config, () => { + console.log('------------ updateConfiguration -----------'); +}) +``` + +## updateConfiguration + +updateConfiguration(config: Configuration): Promise\ + +通过修改配置来更新配置(Promise形式)。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 名称 | 类型 | 必填 | 描述 | +| --------- | ---------------------------------------- | ---- | -------------- | +| config | Configuration | 是 | 新的配置项。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------------------------- | ------- | +| Promise\ | 返回执行结果。 | + +**示例**: + +```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\>): void + +通过修改配置来更新配置(callback形式)。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 名称 | 类型 | 必填 | 描述 | +| --------- | ---------------------------------------- | ---- | -------------- | +| callback | AsyncCallback\> | 是 | 被指定的回调方法。 | + +**示例**: + +```js +import abilitymanager from '@ohos.application.abilityManager'; + +abilitymanager.getAbilityRunningInfos((err,data) => { + console.log("getAbilityRunningInfos err: " + err + " data: " + JSON.stringify(data)); +}); +``` + +## getAbilityRunningInfos + +getAbilityRunningInfos(): Promise\> + +通过修改配置来更新配置(Promise形式)。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core + +**返回值:** + +| 类型 | 说明 | +| ---------------------------------------- | ------- | +| Promise\> | 返回执行结果。 | + +**示例**: + +```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) +}); +``` + +## getExtensionRunningInfos9+ + +getExtensionRunningInfos(upperLimit: number, callback: AsyncCallback\>): void + +获取关于运行扩展的信息(callback形式)。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 名称 | 类型 | 必填 | 描述 | +| --------- | ---------------------------------------- | ---- | -------------- | +| upperLimit | number | 是 | 获取消息数量的最大限制。 | +| callback | AsyncCallback\> | 是 | 被指定的回调方法。 | + +**示例**: + +```js +import abilitymanager from '@ohos.application.abilityManager'; + +var upperLimit = 0; + +abilitymanager.getExtensionRunningInfos(upperLimit, (err,data) => { + console.log("getExtensionRunningInfos err: " + err + " data: " + JSON.stringify(data)); +}); +``` + +## getExtensionRunningInfos9+ + +getExtensionRunningInfos(upperLimit: number): Promise\> + +获取关于运行扩展的信息(Promise形式)。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 名称 | 类型 | 必填 | 描述 | +| --------- | ---------------------------------------- | ---- | -------------- | +| upperLimit | number | 是 | 获取消息数量的最大限制。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------------------------- | ------- | +| Promise\> | 返回执行结果。 | + +**示例**: + +```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 diff --git a/zh-cn/application-dev/reference/apis/js-apis-abilityStageContext.md b/zh-cn/application-dev/reference/apis/js-apis-abilityStageContext.md new file mode 100644 index 0000000000..17baf6c282 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-abilityStageContext.md @@ -0,0 +1,32 @@ +# 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) | 是 | 否 | 环境变化对象。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md b/zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md new file mode 100644 index 0000000000..9c338f43bf --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-application-DataShareExtensionAbility.md @@ -0,0 +1,348 @@ +# 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>): void + +获取支持的文件的MIME类型(callback形式)。 + +**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------------- | ------------------------------ | ---- | ---------------------------------- | +| uri | string | 是 | 指示要获取的文件的路径。 | +| mimeTypeFilter | string | 是 | 指示要获取的文件的MIME类型。 | +| callback | AsyncCallback\> | 是 | 回调方法,返回匹配的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\): void + +将单个数据记录插入数据库(callback形式)。 + +**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ------------ | ---------------------- | ---- | ------------------------------------------------------ | +| uri | string | 是 | 指示要插入的数据的路径。 | +| valuesBucket | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | +| callback | AsyncCallback\ | 是 | 回调方法,返回插入数据记录的索引。 | + +**示例:** + +```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\): void + +更新数据库中的数据记录(callback形式)。 + +**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ------------ | --------------------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指示要更新的数据的路径。 | +| valuesBucket | rdb.ValuesBucket | 是 | 指示要更新的数据。 | +| predicates | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | +| callback | AsyncCallback\ | 是 | 回调方法,返回更新的数据记录数。 | + +**示例:** + +```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\): void + +从数据库中删除一个或多个数据记录(callback形式)。 + +**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ------------ | --------------------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指示要删除的数据的路径。 | +| valuesBucket | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | +| callback | AsyncCallback\ | 是 | 回调方法。返回已删除的数据记录数。 | + +**示例:** + +```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\, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\): void + +查询数据库中的数据(callback形式)。 + +**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---------- | --------------------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指示要查询的数据的路径。 | +| columns | rdb.ValuesBucket | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | +| predicates | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | +| callback | AsyncCallback\ | 是 | 回调方法,返回查询结果。 | + +**示例:** + +```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\): void + +获取给定URI指定数据的MIME类型(callback形式)。 + +**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | --------------------------------------------- | +| uri | string | 是 | 指示要操作的数据的路径。 | +| callback | AsyncCallback\ | 是 | 回调方法,返回与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, callback: AsyncCallback\): void + +插入数据库(callback形式)。 + +**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ------------ | ----------------------- | ---- | -------------------------------- | +| uri | string | 是 | 指示要插入的数据的路径。 | +| valuesBucket | Array | 是 | 指示要插入的数据记录。 | +| callback | AsyncCallback\ | 是 | 回调方法。返回插入的数据记录数。 | + +**示例:** + +```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\): void + +将引用数据功能的给定uri转换为规范化uri(callback形式)。 + +**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | ------------------------------------------------------------ | +| uri | string | 是 | 指示要规范化的uri对象。 | +| callback | AsyncCallback\ | 是 | 回调方法。如果数据功能支持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\): void + +将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式)。 + +**系统能力**:SystemCapability.DistributedDataManager.DataShare.Provider + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | --------------------------------------------------- | +| uri | string | 是 | 指示要规范化的uri对象。 | +| callback | AsyncCallback\ | 是 | 回调方法。如果反规范化成功,则返回反规范化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=======================>"); +}); +``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-StartOptions.md b/zh-cn/application-dev/reference/apis/js-apis-application-StartOptions.md new file mode 100644 index 0000000000..d3329a99cd --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-application-StartOptions.md @@ -0,0 +1,31 @@ +# 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。 | + + + + + + diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-Want.md b/zh-cn/application-dev/reference/apis/js-apis-application-Want.md index 2585083660..46f775938f 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-Want.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-Want.md @@ -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\ | 否 | 表示entities相关描述。 | | \ No newline at end of file +| entities | 只读 | Array\ | 否 | 表示entities相关描述。 | | +| extensionAbilityType9+ | 只读 | bundle.ExtensionAbilityType | 否 | ExtensionAbility类型 | +| extensionAbilityName9+ | 只读 | string | 否 | Want中扩展能力名称的描述。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-ability.md b/zh-cn/application-dev/reference/apis/js-apis-application-ability.md new file mode 100644 index 0000000000..b2530e53a0 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-application-ability.md @@ -0,0 +1,592 @@ +# 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 | 是 | 创建 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: string]: 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<void>; + +向通用组件服务端发送约定序列化数据。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | method | string | 是 | 约定的服务端注册事件字符串。 | + | data | rpc.Sequenceable | 是 | 由开发者实现的Sequenceable可序列化数据。 | + +**返回值:** + + | 类型 | 说明 | + | -------- | -------- | + | Promise<void> | 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<rpc.MessageParcel>; + +向通用组件服务端发送约定序列化数据, 并将服务端返回的约定序列化数据带回。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | method | string | 是 | 约定的服务端注册事件字符串。 | + | data | rpc.Sequenceable | 是 | 由开发者实现的Sequenceable可序列化数据。 | + +**返回值:** + + | 类型 | 说明 | + | -------- | -------- | + | Promise<rpc.MessageParcel> | 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通知同步回调函数, 回调函数至少要返回一个空的rpc.Sequenceable数据对象, 其他视为函数执行错误。 | + +**示例:** + + ```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 | 是 | 否 | 被调用方注册的消息侦听器函数接口的原型。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-abilityConstant.md b/zh-cn/application-dev/reference/apis/js-apis-application-abilityConstant.md new file mode 100644 index 0000000000..84f3589372 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-application-abilityConstant.md @@ -0,0 +1,65 @@ +# 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 | 不匹配。| diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-abilityDelegator.md b/zh-cn/application-dev/reference/apis/js-apis-application-abilityDelegator.md index 9910561a88..a92f9c8a80 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-abilityDelegator.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-abilityDelegator.md @@ -1,8 +1,10 @@ # 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 + +### addAbilityMonitor9+ + +addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\): void + +添加AbilityMonitor实例(callback形式) + +**系统能力:**SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 参数名 | 类型 | 必填说明 | 说明 | +| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ | +| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 | +| callback | AsyncCallback\ | 是 | 表示指定的回调方法 | + +**示例:** + +```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"); +}); +``` + +### addAbilityMonitor9+ + +addAbilityMonitor(monitor: AbilityMonitor): Promise\ + +添加AbilityMonitor实例(promise形式) + +**系统能力:** SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 | + +**返回值:** + +| 类型 | 说明 | +| -------------- | ------------------- | +| Promise\ | 以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"); +}); +``` + +### removeAbilityMonitor9+ + +removeAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\): void + +删除已经添加的AbilityMonitor实例(callback形式) + +**系统能力:** SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 | +| callback | AsyncCallback\ | 是 | 表示指定的回调方法 | + +**示例:** + +```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"); +}); +``` + +### removeAbilityMonitor9+ + +removeAbilityMonitor(monitor: AbilityMonitor): Promise\ + +删除已经添加的AbilityMonitor实例(promise形式) + +**系统能力:** SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 名称 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| monitor | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-application-abilityMonitor.md#AbilityMonitor)实例 | + +**返回值:** + +| 类型 | 说明 | +| -------------- | ------------------- | +| Promise\ | 以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"); +}); +``` + +### waitAbilityMonitor9+ + +waitAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\): 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"); +}); +``` + +### waitAbilityMonitor9+ + +waitAbilityMonitor(monitor: AbilityMonitor, timeout: number, callback: AsyncCallback\): 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"); +}); +``` + +### waitAbilityMonitor9+ + +waitAbilityMonitor(monitor: AbilityMonitor, timeout?: number): Promise\ + +设置等待时间,等待与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"); +}); +``` + +### getAppContext9+ + +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(); +``` + +### getAbilityState9+ + +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); +}); +``` + +### getCurrentTopAbility9+ + +getCurrentTopAbility(callback: AsyncCallback\): 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; +}); +``` + +### getCurrentTopAbility9+ + +getCurrentTopAbility(): Promise\ + +获取当前应用顶部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; +}); +``` + +### doAbilityForeground9+ + +doAbilityForeground(ability: Ability, callback: AsyncCallback\): void + +调度指定ability生命周期状态到Foreground状态(callback形式) + +**系统能力:** SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------- | ---- | ------------------------------------------------------- | +| ability | Ability | 是 | 指定Ability对象 | +| callback | AsyncCallback\ | 是 | 表示指定的回调方法
\- true:成功
\- 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"); + }); +}); +``` + +### doAbilityForeground9+ + +doAbilityForeground(ability: Ability): Promise\ + +调度指定ability生命周期状态到Foreground状态(promise形式) + +**系统能力:** SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------- | ---- | --------------- | +| ability | Ability | 是 | 指定Ability对象 | + +**返回值:** + +| 类型 | 说明 | +| ----------------- | ------------------------------------------------------------ | +| Promise\ | 以Promise形式返回执行结果。
\- true:成功
\- 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"); + }); +}); +``` + +### doAbilityBackground9+ + +doAbilityBackground(ability: Ability, callback: AsyncCallback\): void + +调度指定ability生命周期状态到Background状态(callback形式) + +**系统能力:** SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------- | ---- | ------------------------------------------------------- | +| ability | Ability | 是 | 指定Ability对象 | +| callback | AsyncCallback\ | 是 | 表示指定的回调方法
\- true:成功
\- 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"); + }); +}); +``` + +### doAbilityBackground9+ + +doAbilityBackground(ability: Ability): Promise\ + +调度指定ability生命周期状态到Background状态(promise形式) + +**系统能力:** SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------- | ---- | --------------- | +| ability | Ability | 是 | 指定Ability对象 | + +**返回值:** + +| 类型 | 说明 | +| ----------------- | ------------------------------------------------------------ | +| Promise\ | 以Promise形式返回执行结果。
\- true:成功
\- 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"); + }); +}); +``` + +### startAbility9+ startAbility(want: Want, callback: AsyncCallback\): void @@ -45,7 +557,7 @@ abilityDelegator.startAbility(want, (err, data) => { -### startAbility +### startAbility9+ startAbility(want: Want): Promise\ diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-abilityMonitor.md b/zh-cn/application-dev/reference/apis/js-apis-application-abilityMonitor.md new file mode 100644 index 0000000000..ca23439761 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-application-abilityMonitor.md @@ -0,0 +1,32 @@ +# 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被启动初始化时的回调函数
不设置该属性则不能收到该生命周期回调 | +| onAbilityForeground?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability状态变成前台时的回调函数
不设置该属性则不能收到该生命周期回调 | +| onAbilityBackground?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability状态变成后台时的回调函数
不设置该属性则不能收到该生命周期回调 | +| onAbilityDestroy?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability被销毁前的回调函数
不设置该属性则不能收到该生命周期回调 | +| onWindowStageCreate?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | window stage被创建时的回调函数
不设置该属性则不能收到该生命周期回调 | +| onWindowStageRestore?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | window stage被重载时的回调函数
不设置该属性则不能收到该生命周期回调 | +| onWindowStageDestroy?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | window stage被销毁前的回调函数
不设置该属性则不能收到该生命周期回调 | + + diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-abilitystage.md b/zh-cn/application-dev/reference/apis/js-apis-application-abilitystage.md new file mode 100644 index 0000000000..04dac64d01 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-application-abilitystage.md @@ -0,0 +1,103 @@ +# 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) | 在启动能力阶段进行初始化时回调。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-applicationContext.md b/zh-cn/application-dev/reference/apis/js-apis-applicationContext.md new file mode 100644 index 0000000000..fe2add752f --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-applicationContext.md @@ -0,0 +1,116 @@ +# 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 信息。 | + +**示例:** + +```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 diff --git a/zh-cn/application-dev/reference/apis/js-apis-commonEvent.md b/zh-cn/application-dev/reference/apis/js-apis-commonEvent.md index 0888b9f9a0..a6dd51eb59 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-commonEvent.md +++ b/zh-cn/application-dev/reference/apis/js-apis-commonEvent.md @@ -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_REMOVED9+ | usual.event.data.VOLUME_REMOVED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE | +| COMMON_EVENT_VOLUME_UNMOUNTED9+ | usual.event.data.VOLUME_UNMOUNTED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE | +| COMMON_EVENT_VOLUME_MOUNTED9+ | usual.event.data.VOLUME_MOUNTED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE | +| COMMON_EVENT_VOLUME_BAD_REMOVAL9+ | usual.event.data.VOLUME_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE | +| COMMON_EVENT_VOLUME_EJECT9+ | 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) => { }); ``` +### finishCommonEvent9+ + +finishCommonEvent(callback: AsyncCallback\): void + +结束当前有序事件(callback形式)。 + +**系统能力**:SystemCapability.Notification.CommonEvent + +**参数:** + +| 参数名 | 类型 | 必填 | 描述 | +| -------- | -------------------- | ---- | ---------------------- | +| callback | AsyncCallback\ | 是 | 表示被指定的回调方法。 | + +**示例:** + +```js +var subscriber; //创建成功的订阅者对象 + +function finishCommonEventCallback() { + console.log('finishCommonEvent'); +} + +subscriber.finishCommonEvent(finishCommonEventCallback); +``` + +### finishCommonEvent9+ + +finishCommonEvent(): Promise\ + +结束当前有序事件(Promise形式)。 + +**系统能力**:SystemCapability.Notification.CommonEvent + +**返回值:** + +| 类型 | 说明 | +| ---------------- | -------------------- | +| Promise\ | 返回一个Promise的结果。 | + +**示例:** + +```js +var subscriber; //创建成功的订阅者对象 + +subscriber.finishCommonEvent().then(() => { + console.log('finishCommonEvent'); +}).catch(() => { + console.log('finishCommonEvent failed'); +}) +``` + ## CommonEventData **系统能力:** 以下各项对应的系统能力均为SystemCapability.Notification.CommonEvent diff --git a/zh-cn/application-dev/reference/apis/js-apis-configuration.md b/zh-cn/application-dev/reference/apis/js-apis-configuration.md index 50840bac15..b8601631ea 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-configuration.md +++ b/zh-cn/application-dev/reference/apis/js-apis-configuration.md @@ -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)。默认为浅色。 | +| direction9+ | Direction | 是 | 否 | 表示屏幕方向,取值范围:水平方向(DIRECTION_HORIZONTAL),垂直方向(DIRECTION_VERTICAL)。 | +| screenDensity9+ | 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)。 | +| displayId9+ | number | 是 | 否 | 表示应用所在的displayId。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-configurationconstant.md b/zh-cn/application-dev/reference/apis/js-apis-configurationconstant.md index 90d4d1451f..fe4dfe3aab 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-configurationconstant.md +++ b/zh-cn/application-dev/reference/apis/js-apis-configurationconstant.md @@ -34,7 +34,7 @@ ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT | COLOR_MODE_LIGHT | 1 | 浅色模式。 | -## ConfigurationConstant.Direction +## ConfigurationConstant.Direction9+ 使用时通过ConfigurationConstant.Direction获取。 @@ -48,12 +48,12 @@ ConfigurationConstant.Direction.DIRECTION_VERTICAL | 名称 | 值 | 说明 | | -------- | -------- | -------- | -| DIRECTION_NOT_SET9+ | -1 | 未设置方向。 | -| DIRECTION_VERTICAL9+ | 0 | 垂直方向。 | -| DIRECTION_HORIZONTAL9+ | 1 | 水平方向。 | +| DIRECTION_NOT_SET | -1 | 未设置方向。 | +| DIRECTION_VERTICAL | 0 | 垂直方向。 | +| DIRECTION_HORIZONTAL | 1 | 水平方向。 | -## ConfigurationConstant.ScreenDensity +## ConfigurationConstant.ScreenDensity9+ 使用时通过ConfigurationConstant.ScreenDensity获取。 @@ -67,10 +67,10 @@ ConfigurationConstant.ScreenDensity.SCREEN_DENSITY_NOT_SET | 名称 | 值 | 说明 | | -------- | -------- | -------- | -| SCREEN_DENSITY_NOT_SET9+ | 0 | 未设置屏幕分辨率。 | -| SCREEN_DENSITY_SDPI9+ | 120 | 屏幕分辨率为"sdpi"。 | -| SCREEN_DENSITY_MDPI9+ | 160 | 屏幕分辨率为"mdpi"。 | -| SCREEN_DENSITY_LDPI9+ | 240 | 屏幕分辨率为"ldpi"。 | -| SCREEN_DENSITY_XLDPI9+ | 320 | 屏幕分辨率为"xldpi"。 | -| SCREEN_DENSITY_XXLDPI9+ | 480 | 屏幕分辨率为"xxldpi"。 | -| SCREEN_DENSITY_XXXLDPI9+ | 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"。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-eventhub.md b/zh-cn/application-dev/reference/apis/js-apis-eventhub.md new file mode 100644 index 0000000000..fb408adfc1 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-eventhub.md @@ -0,0 +1,141 @@ +# 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); + } + } + ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-extension-ability-context.md b/zh-cn/application-dev/reference/apis/js-apis-extension-ability-context.md new file mode 100644 index 0000000000..68a6b45897 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-extension-ability-context.md @@ -0,0 +1,17 @@ +# 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包的信息。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-extension-context.md b/zh-cn/application-dev/reference/apis/js-apis-extension-context.md new file mode 100644 index 0000000000..355ab2fd49 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-extension-context.md @@ -0,0 +1,18 @@ +# 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包的信息。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-extensionAbilityInfo.md b/zh-cn/application-dev/reference/apis/js-apis-extensionAbilityInfo.md new file mode 100644 index 0000000000..b3163cd665 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-extensionAbilityInfo.md @@ -0,0 +1,28 @@ +# 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\ | 是 | 否 | 被其他应用Ability调用时需要申请的权限集合 | +| applicationInfo | ApplicationInfo | 是 | 否 | 应用程序的配置信息 | +| metaData | Array\ | 是 | 否 | ability的元信息 | +| enabled | boolean | 是 | 否 | ability是否可用 | +| readPermission | string | 是 | 否 | 读取Ability数据所需的权限 | +| writePermission | string | 是 | 否 | 向Ability写数据所需的权限 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-extensionrunninginfo.md b/zh-cn/application-dev/reference/apis/js-apis-extensionrunninginfo.md new file mode 100644 index 0000000000..0f01147bd4 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-extensionrunninginfo.md @@ -0,0 +1,56 @@ +# 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<String> | 是 | 否 | 表示当期进程下的所有包名。 | +| type | [bundle.ExtensionAbilityType](#bundleextensionabilitytype) | 是 | 否 | Extension类型。 | + + +## bundle.ExtensionAbilityType + +Extension类型。 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework + + | 名称 | 值 | 说明 | +| -------- | -------- | -------- | +| FORM | 0 | 表示带有form类型的扩展信息。 | +| WORK_SCHEDULER | 1 | 表示带有work 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 | 表示未指定类型信息。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-featureAbility.md b/zh-cn/application-dev/reference/apis/js-apis-featureAbility.md index 9188422b31..21120abf37 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-featureAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-featureAbility.md @@ -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\ | 否 | 表示entities相关描述。 | +| extensionAbilityType9+ | 只读 | bundle.ExtensionAbilityType | 否 | ExtensionAbility类型 | +| extensionAbilityName9+ | 只读 | string | 否 | Want中扩展能力名称的描述。 | ## flags说明 diff --git a/zh-cn/application-dev/reference/apis/js-apis-formextension.md b/zh-cn/application-dev/reference/apis/js-apis-formextension.md new file mode 100644 index 0000000000..c1553466aa --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-formextension.md @@ -0,0 +1,223 @@ +# 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 diff --git a/zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md b/zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md new file mode 100644 index 0000000000..3b03f765b5 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md @@ -0,0 +1,18 @@ +# PermissionRequestResult + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> +> 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。 + + +权限请求结果。 + + +## 属性 + +**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core + + | 名称 | 参数类型 | 可读 | 可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| permissions | Array<string> | 是 | 否 | 用户传入的权限。| +| authResults | Array<number> | 是 | 否 | 相应请求权限的结果。0表示授权成功,-1表示失败。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-service-extension-ability.md b/zh-cn/application-dev/reference/apis/js-apis-service-extension-ability.md new file mode 100644 index 0000000000..7472ff9f40 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-service-extension-ability.md @@ -0,0 +1,213 @@ +# 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); + } +} +``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-serviceExtAbilityContext.md b/zh-cn/application-dev/reference/apis/js-apis-serviceExtAbilityContext.md new file mode 100644 index 0000000000..78ece7dc8d --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-serviceExtAbilityContext.md @@ -0,0 +1,414 @@ +# 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<void>): void + +启动Ability。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| callback | AsyncCallback<void> | 是 | 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<void>): void + +启动Ability(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| options | StartOptions | 是 | 启动Ability所携带的参数。 | +| callback | AsyncCallback<void> | 是 | 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<void> + +启动Ability(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| options | StartOptions | 是 | 启动Ability所携带的参数。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 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 + +通过账户启动Ability(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| accountId | number | 是 | 账户ID。 | +| callback | AsyncCallback<void> | 是 | 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 + +通过账户启动Ability(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| accountId | number | 是 | 账户ID。 | +| options | StartOptions | 是 | 启动Ability所携带的参数。 | +| callback | AsyncCallback<void> | 是 | 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\ + +通过账户启动Ability(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-featureAbility.md#Want) | 是 | 启动Ability的want信息。 | +| accountId | number | 是 | 账户ID。 | +| options | StartOptions | 否 | 启动Ability所携带的参数。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 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<void>): void + +停止Ability自身(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| callback | AsyncCallback<void> | 是 | 回调函数,返回接口调用是否成功的结果。 | + +**示例**: + +```js +this.context.terminateSelf((err) => { + console.log('terminateSelf result:' + JSON.stringfy(err)); +}); +``` + +## terminateSelf + +terminateSelf(): Promise<void> + +停止Ability自身(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 返回一个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 + +断开Ability连接(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| connection | number | 是 | 连接的Ability的编号。 | +| callback | AsyncCallback<void> | 是 | 断开Ability连接的回调函数。 | + +**示例**: + +```js +var connection = 111; +this.context.disconnectAbility(connection, () => { + console.log('disconnection') +}) +``` + +## disconnectAbility + +disconnectAbility(connection: number): Promise + +断开Ability连接(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数**: + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| connection | number | 是 | 连接的Ability的编号。 | + +**返回值**: + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 返回一个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 diff --git a/zh-cn/application-dev/reference/apis/js-apis-uripermissionmanager.md b/zh-cn/application-dev/reference/apis/js-apis-uripermissionmanager.md new file mode 100644 index 0000000000..8b21a21cef --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-uripermissionmanager.md @@ -0,0 +1,83 @@ +# 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<number>): 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<number> | 是 | 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<number> + +检验某个应用是否对指定的uri有flag指定的权限。 + +**系统能力:** + +SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | uri | string | 是 | 指向文件的uri,例如fileshare:///com.samples.filesharetest.FileShare/person/10。 | + | flag | wantConstant.Flags | 是 | uri的读权限或写权限。 | + | accessTokenId | number | 是 | 每个应用的唯一标识ID,开发者通过包管理接口自行获取。 | + +**返回值:** + + | 类型 | 说明 | + | -------- | -------- | + | Promise<number> | 返回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.'); + }) + ``` + diff --git a/zh-cn/application-dev/reference/apis/js-apis-wantAgent.md b/zh-cn/application-dev/reference/apis/js-apis-wantAgent.md index ddf3b3ec58..36b477657d 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-wantAgent.md +++ b/zh-cn/application-dev/reference/apis/js-apis-wantAgent.md @@ -3,6 +3,8 @@ >**说明:** > >本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> +> API 9当前为Canary版本,仅供使用,不保证接口可稳定调用。 ## 导入模块 @@ -916,6 +918,135 @@ WantAgent.equal(wantAgent1, wantAgent2).then((data) => { ``` +## WantAgent.getOperationType9+ + +getOperationType(agent: WantAgent, callback: AsyncCallback): void + +获取一个WantAgent的OperationType信息(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 | +| ---------- | --- | ---- | --------- | ---- | ------------- | +| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 | +| callback | 是 | 否 | AsyncCallback\ | 是 | 获取一个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.getOperationType9+ + +getOperationType(agent: WantAgent): Promise + +获取一个WantAgent的OperationType信息(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 | +| ---------- | --- | ---- | --------- | ---- | ------------- | +| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 | + +**返回值:** + +| 类型 | 说明 | +| ----------------------------------------------------------- | ------------------------------------------------------------ | +| Promise\ | 以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 -- GitLab