From 642860b7f972765c9e79edfe0a7dc2f57eacaffd Mon Sep 17 00:00:00 2001 From: ac__fancheyu Date: Tue, 7 Feb 2023 13:53:53 +0000 Subject: [PATCH] add WindowExtensionContext markdown Signed-off-by: ac__fancheyu Change-Id: I05f94fb80c5d73fcaa90f926020c83ec6dc901de --- ...apis-application-windowExtensionAbility.md | 12 +- ...nner-application-windowExtensionContext.md | 123 ++++++++++++++++++ 2 files changed, 129 insertions(+), 6 deletions(-) create mode 100644 zh-cn/application-dev/reference/apis/js-apis-inner-application-windowExtensionContext.md diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-windowExtensionAbility.md b/zh-cn/application-dev/reference/apis/js-apis-application-windowExtensionAbility.md index d8b4663aba..c72ee14937 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-windowExtensionAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-windowExtensionAbility.md @@ -5,10 +5,10 @@ WindowExtensionAbility基于ExtensionAbility。WindowExtensionAbility中展示 > **说明:** > > 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 -> +> > 本模块接口为系统接口。 > -> 本模块接口仅可在Stage模型下使用。 +> 本模块接口仅可在Stage模型下使用。 ## 导入模块 @@ -22,7 +22,7 @@ import WindowExtensionAbility from '@ohos.application.WindowExtensionAbility'; | 名称 | 类型 | 可读 | 可写 | 说明 | | --------- | -------- | ---- | ---- | ------------------------- | -| context | [ExtensionContext](js-apis-inner-application-extensionContext.md) | 是 | 否 | 上下文。 | +| context | [WindowExtensionContext](js-apis-inner-application-windowExtensionContext.md) | 是 | 否 | 上下文。 | ## WindowExtensionAbility.onConnect @@ -38,7 +38,7 @@ onConnect(want: Want): void | -------- | -------- | -------- | -------- | | want | [Want](js-apis-application-want.md) | 是 | 当前ability的Want类型信息,包括ability名称、bundle名称等。 | -**示例:** +**示例:** ```ts export default class MyWindowExtensionAbility extends WindowExtensionAbility { @@ -65,7 +65,7 @@ onDisconnect(want: Want): void | want | [Want](js-apis-application-want.md) | 是 | 当前Ability的Want类型信息,包括ability名称、bundle名称等。 | -**示例:** +**示例:** ```ts export default class MyWindowExtensionAbility extends WindowExtensionAbility { @@ -92,7 +92,7 @@ onWindowReady(window: window.Window): void | window | [window.Window](js-apis-window.md#window) | 是 | 当前窗口实例。 | -**示例:** +**示例:** ```ts export default class MyWindowExtensionAbility extends WindowExtensionAbility { diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-windowExtensionContext.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-windowExtensionContext.md new file mode 100644 index 0000000000..78e9566b0e --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-windowExtensionContext.md @@ -0,0 +1,123 @@ +# WindowExtensionContext + +WindowExtensionContext模块是WindowExtensionAbility的上下文环境,继承自[ExtensionContext](js-apis-inner-application-extensionContext.md)。 + +WindowExtensionContext模块提供[WindowExtensionAbility](js-apis-application-windowExtensionAbility.md)具有的能力,包括启动Ability。 + +> **说明:** +> +> - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> +> - 本模块接口为系统接口。 +> +> - 本模块接口仅可在Stage模型下使用。 + +## 使用说明 + +在使用WindowExtensionContext的功能前,需要通过WindowExtensionAbility子类实例获取。 + +```ts + import WindowExtensionAbility from '@ohos.application.WindowExtensionAbility'; + + let context = undefined; + class WindowExtAbility extends WindowExtensionAbility { + onConnect() { + context = this.context; // 获取WindowExtensionContext + } + } +``` + +## WindowExtensionContext.startAbility + +startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>): void + +启动Ability,使用callback异步回调。 + +**系统能力**:SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-application-want.md) | 是 | 启动Ability的want信息。 | +| options | [StartOptions](js-apis-app-ability-startOptions.md) | 是 | 启动Ability所携带的参数。 | +| callback | AsyncCallback<void> | 是 | callback形式返回启动结果。 | + +**示例:** + + ```ts + var want = { + bundleName: "com.example.myapplication", + abilityName: "MainAbility" + }; + var options = { + windowMode: 102 + }; + + try { + this.context.startAbility(want, options, (error) => { + if (error.code) { + // 处理业务逻辑错误 + console.log('startAbility failed, error.code: ' + JSON.stringify(error.code) + + ' error.message: ' + JSON.stringify(error.message)); + return; + } + // 执行正常业务 + console.log('startAbility succeed'); + }); + } catch (paramError) { + // 处理入参错误异常 + console.error('error.code: ' + JSON.stringify(paramError.code) + + ' error.message: ' + JSON.stringify(paramError.message)); + } + ``` + +## WindowExtensionContext.startAbility + +startAbility(want: Want, options?: StartOptions): Promise\ + +启动Ability,使用Promise异步回调。 + +**系统能力**:SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| want | [Want](js-apis-application-want.md) | 是 | Want类型参数,传入需要启动的ability的信息,如Ability名称,Bundle名称等。 | +| options | [StartOptions](js-apis-app-ability-startOptions.md) | 否 | 启动Ability所携带的参数。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + + ```ts + var want = { + bundleName: "com.example.myapp", + abilityName: "MainAbility" + }; + var options = { + windowMode: 102, + }; + + try { + this.context.startAbility(want, options) + .then((data) => { + // 执行正常业务 + console.log('startAbility succeed'); + }) + .catch((error) => { + // 处理业务逻辑错误 + console.log('startAbility failed, error.code: ' + JSON.stringify(error.code) + + ' error.message: ' + JSON.stringify(error.message)); + }); + } catch (paramError) { + // 处理入参错误异常 + console.error('error.code: ' + JSON.stringify(paramError.code) + + ' error.message: ' + JSON.stringify(paramError.message)); + } + ``` \ No newline at end of file -- GitLab