From ad1c760fef002c533dbac0db0f097863d7b83d76 Mon Sep 17 00:00:00 2001 From: RayShih Date: Fri, 18 Aug 2023 10:21:38 +0800 Subject: [PATCH] delete deprecated folder Signed-off-by: RayShih --- .../ability-deprecated/Readme-CN.md | 25 -- .../ability-assistant-guidelines.md | 107 ----- .../ability-deprecated/ability-brief.md | 43 -- .../ability-deprecated/ability-delegator.md | 181 -------- .../ability-deprecated/context-userguide.md | 318 ------------- .../ability-deprecated/continuationmanager.md | 275 ------------ .../ability-deprecated/fa-brief.md | 56 --- .../ability-deprecated/fa-dataability.md | 311 ------------- .../ability-deprecated/fa-formability.md | 402 ----------------- .../ability-deprecated/fa-pageability.md | 223 ---------- .../ability-deprecated/fa-serviceability.md | 338 -------------- .../AbilityComponentInstanceMission.png | Bin 81278 -> 0 bytes .../figures/ExtensionAbility.png | Bin 21335 -> 0 bytes .../ability-deprecated/figures/aa-dump-a.PNG | Bin 41040 -> 0 bytes .../ability-deprecated/figures/aa-dump-i.PNG | Bin 6730 -> 0 bytes .../ability-deprecated/figures/aa-dump-l.PNG | Bin 5357 -> 0 bytes .../figures/contextIntroduction.png | Bin 61758 -> 0 bytes .../figures/continuation-info.png | Bin 13672 -> 0 bytes .../figures/continuationManager.png | Bin 64112 -> 0 bytes .../figures/fa-dataability-uri.png | Bin 8862 -> 0 bytes .../figures/fa-form-example.png | Bin 7702 -> 0 bytes .../figures/fa-pageAbility-lifecycle.png | Bin 23073 -> 0 bytes .../figures/fa-threading-model.png | Bin 50739 -> 0 bytes .../ability-deprecated/figures/favsstage.png | Bin 24764 -> 0 bytes .../ability-deprecated/figures/lifecycle.png | Bin 32650 -> 0 bytes .../figures/page-ability-lifecycle.png | Bin 17062 -> 0 bytes .../ability-deprecated/figures/stage-call.png | Bin 10066 -> 0 bytes .../figures/stageabilitylifecyclecallback.png | Bin 31817 -> 0 bytes .../figures/stageconcept.png | Bin 34975 -> 0 bytes .../figures/stagedesign.png | Bin 33494 -> 0 bytes .../figures/stageprocessmodel.png | Bin 27080 -> 0 bytes .../public_sys-resources/icon-caution.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-danger.gif | Bin 580 -> 0 bytes .../public_sys-resources/icon-note.gif | Bin 394 -> 0 bytes .../public_sys-resources/icon-notice.gif | Bin 406 -> 0 bytes .../public_sys-resources/icon-tip.gif | Bin 253 -> 0 bytes .../public_sys-resources/icon-warning.gif | Bin 580 -> 0 bytes .../stage-ability-continuation.md | 289 ------------ .../ability-deprecated/stage-ability.md | 313 ------------- .../ability-deprecated/stage-brief.md | 122 ----- .../ability-deprecated/stage-call.md | 286 ------------ .../ability-deprecated/stage-formextension.md | 417 ------------------ .../stage-serviceextension.md | 80 ---- .../ability-deprecated/wantagent.md | 88 ---- 44 files changed, 3874 deletions(-) delete mode 100644 zh-cn/application-dev/ability-deprecated/Readme-CN.md delete mode 100644 zh-cn/application-dev/ability-deprecated/ability-assistant-guidelines.md delete mode 100644 zh-cn/application-dev/ability-deprecated/ability-brief.md delete mode 100644 zh-cn/application-dev/ability-deprecated/ability-delegator.md delete mode 100644 zh-cn/application-dev/ability-deprecated/context-userguide.md delete mode 100644 zh-cn/application-dev/ability-deprecated/continuationmanager.md delete mode 100644 zh-cn/application-dev/ability-deprecated/fa-brief.md delete mode 100644 zh-cn/application-dev/ability-deprecated/fa-dataability.md delete mode 100644 zh-cn/application-dev/ability-deprecated/fa-formability.md delete mode 100644 zh-cn/application-dev/ability-deprecated/fa-pageability.md delete mode 100644 zh-cn/application-dev/ability-deprecated/fa-serviceability.md delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/AbilityComponentInstanceMission.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/ExtensionAbility.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/aa-dump-a.PNG delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/aa-dump-i.PNG delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/aa-dump-l.PNG delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/contextIntroduction.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/continuation-info.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/continuationManager.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/fa-dataability-uri.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/fa-form-example.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/fa-pageAbility-lifecycle.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/fa-threading-model.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/favsstage.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/lifecycle.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/page-ability-lifecycle.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/stage-call.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/stageabilitylifecyclecallback.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/stageconcept.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/stagedesign.png delete mode 100644 zh-cn/application-dev/ability-deprecated/figures/stageprocessmodel.png delete mode 100644 zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-caution.gif delete mode 100644 zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-danger.gif delete mode 100644 zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-note.gif delete mode 100644 zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-notice.gif delete mode 100644 zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-tip.gif delete mode 100644 zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-warning.gif delete mode 100644 zh-cn/application-dev/ability-deprecated/stage-ability-continuation.md delete mode 100644 zh-cn/application-dev/ability-deprecated/stage-ability.md delete mode 100644 zh-cn/application-dev/ability-deprecated/stage-brief.md delete mode 100644 zh-cn/application-dev/ability-deprecated/stage-call.md delete mode 100644 zh-cn/application-dev/ability-deprecated/stage-formextension.md delete mode 100644 zh-cn/application-dev/ability-deprecated/stage-serviceextension.md delete mode 100644 zh-cn/application-dev/ability-deprecated/wantagent.md diff --git a/zh-cn/application-dev/ability-deprecated/Readme-CN.md b/zh-cn/application-dev/ability-deprecated/Readme-CN.md deleted file mode 100644 index 4fa334eaa4..0000000000 --- a/zh-cn/application-dev/ability-deprecated/Readme-CN.md +++ /dev/null @@ -1,25 +0,0 @@ -# Ability开发 - -> **说明:**
-> 当前目录内容已废弃,相关指南请查阅[应用模型](../application-models/Readme-CN.md)。 - -- [Ability框架概述](ability-brief.md) -- [应用上下文Context概述](context-userguide.md) -- FA模型 - - [FA模型综述](fa-brief.md) - - [PageAbility开发指导](fa-pageability.md) - - [ServiceAbility开发指导](fa-serviceability.md) - - [DataAbility开发指导](fa-dataability.md) - - [FA卡片开发指导](fa-formability.md) -- Stage模型 - - [Stage模型综述](stage-brief.md) - - [Ability开发指导](stage-ability.md) - - [ServiceExtensionAbility开发指导](stage-serviceextension.md) - - [跨端迁移开发指导](stage-ability-continuation.md) - - [Call调用开发指导](stage-call.md) - - [Stage卡片开发指导](stage-formextension.md) -- 其他 - - [WantAgent开发指导](wantagent.md) - - [Ability助手使用指导](ability-assistant-guidelines.md) - - [ContinuationManager开发指导](continuationmanager.md) - - [测试框架使用指导](ability-delegator.md) diff --git a/zh-cn/application-dev/ability-deprecated/ability-assistant-guidelines.md b/zh-cn/application-dev/ability-deprecated/ability-assistant-guidelines.md deleted file mode 100644 index 5e7bb17d01..0000000000 --- a/zh-cn/application-dev/ability-deprecated/ability-assistant-guidelines.md +++ /dev/null @@ -1,107 +0,0 @@ -# Ability助手使用指导 - -Ability assistant(Ability助手,简称为aa)是实现应用、原子化服务、及测试用例启动功能的工具,为开发者提供基本的应用调试和测试的能力。通过该工具,开发者可以在hdc shell中,发送命令以执行各种系统操作,比如启动Ability、强制停止进程、打印Ability相关信息等。 - -## 查询相关 - -- **help** - - 用于显示aa相关的帮助信息。 - - **返回值:** - - 返回对应的帮助信息。 - - **使用方法:** - - ``` - aa help - ``` - -## Ability相关 - -- **start** - - 用于启动一个ability。 - - | 参数 | 参数说明 | - | --------- | -------------------------- | - | -h/--help | 帮助信息。 | - | -d | 可选参数,`device id`。 | - | -a | 必选参数,`ability name`。 | - | -b | 必选参数,`bundle name`。 | - | -D | 可选参数,调试模式。 | - - **返回值:** - - 当成功启动Ability时,返回“start ability successfully.”;当启动失败时,返回“error: failed to start ability.”。 - - **使用方法:** - - ``` - aa start [-d ] -a -b [-D] - ``` - -- **stop-service** - - 用于停止Service Ability。 - - | 参数 | 参数说明 | - | --------- | ------------------------ | - | -h/--help | 帮助信息。 | - | -d | 可选参数,device id。 | - | -a | 必选参数,ability name。 | - | -b | 必选参数,bundle name。 | - - **返回值:** - - 当成功停止Service Ability时,返回“stop service ability successfully.”;当停止失败时,返回“error: failed to stop service ability.”。 - - **使用方法:** - - ``` - aa stop-service [-d ] -a -b - ``` - -- **dump** - - 用于打印Ability的相关信息。 - - | 参数 | 二级参数 | 参数说明 | - | ----------------- | -------------------- | ------------------------------------------------------------ | - | -h/--help | - | 帮助信息。 | - | -a/--all | - | 打印所有mission内的Ability。 | - | -l/--mission-list | type(缺省打印全部) | 打印任务栈信息。
type:
NORMAL
DEFAULT_STANDARD
DEFAULT_SINGLE
LAUNCHER | - | -e/--extension | elementName | 打印扩展组件信息。 | - | -u/--userId | UserId | 打印指定UserId的栈信息,需要和其他参数组合使用,例如 `aa dump -a -u 100`、`aa dump -d -u 100` | - | -d/--data | - | 打印Data Ability。 | - | -i/--ability | AbilityRecord ID | 打印指定Ability详细信息。 | - | -c/--client | - | 打印Ability详细信息,需要和其他参数组合使用,例如 `aa dump -a -c`、`aa dump -i 21 -c` | - - **使用方法:** - - ``` - aa dump -a - ``` - ![aa-dump-a](figures/aa-dump-a.PNG) - ``` - aa dump -l - ``` - ![aa-dump-l](figures/aa-dump-l.PNG) - ``` - aa dump -i 12 - ``` - ![aa-dump-i](figures/aa-dump-i.PNG) -- **force-stop** - - 通过bundle name强制停止一个进程。 - - **返回值:** - - 当成功强制停止该进程时,返回“force stop process successfully.”;当强制停止失败时,返回“error: failed to force stop process.”。 - - **使用方法:** - - ``` - aa force-stop - ``` \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/ability-brief.md b/zh-cn/application-dev/ability-deprecated/ability-brief.md deleted file mode 100644 index 9c7a6677a2..0000000000 --- a/zh-cn/application-dev/ability-deprecated/ability-brief.md +++ /dev/null @@ -1,43 +0,0 @@ -# Ability框架概述 - -Ability是OpenHarmony系统对应用的基本抽象。 - -每个Ability是完成独立业务的应用组件,是系统调度应用的最小单元。一个应用可以包含一个或多个Ability。 - -Ability框架模型具有两种形态: - -- 第一种形态称为FA模型。API 8及其更早版本的应用只能使用FA模型。FA模型将Ability分为Page Ability、Service Ability以及Data Ability几种类型。 -- 第二种形态称为Stage模型,这是自API 9新增的模型。Stage模型将Ability分为UIAbility和ExtensionAbility两大类,其中ExtensionAbility又被扩展为ServiceExtensionAbility、FormExtensionAbility、DataShareExtensionAbility等一系列ExtensionAbility,以便满足更多的使用场景。 - -自API 9开始,Stage模型是主推的开发模型。 - -Stage模型的设计,主要是为了开发者更加方便地开发出分布式环境下的复杂应用。下表给出了两种模型在设计上的差异: - -| 对比 | FA模型 | Stage模型 | -| -------------- | ------------------------------------------------------------ | -------------------------------------------------------- | -| 应用组件开发方式 | 类Web的开发方式。 | 面向对象的开发方式。 | -| 引擎实例 | 每个Ability实例独占一个虚拟机实例。 | 多个Ability实例可以共享同一个虚拟机实例。 | -| 进程内对象共享 | 不支持。 | 支持。 | -| 包描述文件 | 使用`config.json`描述HAP和组件信息,组件必须使用固定的文件名。 | 使用`module.json5`描述HAP和组件信息,可以指定入口文件名。 | -| 组件 | 提供PageAbility(页面展示),ServiceAbility(服务),DataAbility(数据分享)以及FormAbility(卡片)。 | 提供UIAbility(页面展示)、Extension(基于场景的服务扩展)。 | - -除了上述设计上的差异外,对于开发者而言,两种模型的主要区别在于: - -* Ability类型存在差异; - - ![favsstage](figures/favsstage.png) - -* Ability生命周期存在差异; - - ![lifecycle](figures/lifecycle.png) - -两种模型的基本介绍,详见[FA模型综述](fa-brief.md)及[Stage模型综述](stage-brief.md)。 - -## 相关实例 - -### Stage 模型 - -- [Stage模型介绍(ArkTS)(API9)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/BasicFeature/ApplicationModels/StageModel) -- [窗口扩展(ArkTS)(API9)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/WindowManagement/WindowExtAbility) -- [系统任务管理(ArkTS)(API9)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/ApplicationModels/MissionManager) -- [仿桌面应用(ArkTS)(API9)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/ApplicationModels/Launcher) diff --git a/zh-cn/application-dev/ability-deprecated/ability-delegator.md b/zh-cn/application-dev/ability-deprecated/ability-delegator.md deleted file mode 100644 index 81a2ed58b7..0000000000 --- a/zh-cn/application-dev/ability-deprecated/ability-delegator.md +++ /dev/null @@ -1,181 +0,0 @@ -# 测试框架使用指导 - -## 概述 -Delegator测试框架是OpenHarmony提供的一套开发者应用自测试框架,旨在为开发者提供针对应用的自测试环境。开发者可以通过Delegator类启动对应Ability,并通过Delegator类提供的能力对Ability进行生命周期切换和监听,同时支持shellCMD输入和测试结果打印显示等功能。 - -## 约束与限制 - -测试框架相关接口只能在测试HAP中使用,只有通过`aa test`命令或者DevEco Studio启动测试环境后相关接口才能生效。 - - -## 测试框架启动 - -测试框架启动有两种方式: - -- 方式一:通过`aa test`命令启动。 -- 方式二:通过DevEco Studio启动。 - -### aa test启动 - -开发者可通过 `aa test` 命令启动测试框架,开发者可以自行指定使用的TestRunner以及TestRunner所在HAP的package name或module name,具体命令示例如下: - -**FA模型:** - -```javascript -aa test -b BundleName -p com.example.myapplicationfaets -s unittest OpenHarmonyTestRunner -s class ActsAbilityTest -w 20 -``` - -**Stage模型:** -```javascript -aa test -b BundleName -m com.example.myapplicationfaets -s unittest OpenHarmonyTestRunner -s class ActsAbilityTest -w 20 -``` -| 参数 | 是否必选 | 参数说明 | -| --------------- | -------- | ------------------------------------------------------------ | -| -b | 是 | TestRunner所在HAP的bundle name。 | -| -p | 是 | TestRunner所在HAP的package name,FA模型使用。 | -| -m | 是 | TestRunner所在HAP的module name,Stage模型使用。 | -| -s unittest | 是 | 启用的TestRunner名称,TestRunner名称和文件名需要保持一致。 | -| -w | 否 | 测试用例超时时间,单位为秒,如果未指定或指定小于等于0的整数,测试框架会一直等待测试代码调用finishTest才退出。 | -| -s \\ | 否 | 支持以key-value的方式输入任何参数,输入的参数可通过AbilityDelegatorArgs.parameters以key-value的方式获取。示例:-s classname myTest,key为"-s classname",value为"myTest"。 | -| -D | 否 | 以Debug模式启动被测试应用。 | -| -h | 否 | 输出帮助信息。 | - -### DevEco Studio启动 - -DevEco Studio启动相关介绍见 [OpenHarmony测试框架](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-openharmony-test-framework-0000001263160453#section1034420367508)。 - -## TestRunner介绍 - -TestRunner是测试框架测试流程入口类。当测试流程启动时,系统会调用TestRunner内相关接口,开发者需要派生该类,并重写onPrepare、onRun方法。DevEco Studio在创建应用模板时会初始化一个默认TestRunner,并在onRun方法启动默认的TestAbility。开发者也可以修改TestAbility测试代码内容,也可以修改默认的TestRunner内onPrepare、onRun方法,自行实现测试代码。具体详细内容请参考TestRunnerAPI接口说明[TestRunner](../reference/apis/js-apis-application-testRunner.md)。 - -## AbilityDelegatorRegistry介绍 - -AbilityDelegatorRegistry是测试框架提供的AbilityDelegator仓库类。开发者可以使用AbilityDelegatorRegistry获取AbilityDelegator实例以及执行此次测试时传入和生成的相关参数AbilityDelegatorArgs。开发者可以使用AbilityDelegator调用测试框架提供的函数集进行测试验证。具体详细内容请参考AbilityDelegatorRegistry API接口说明[AbilityDelegatorRegistry](../reference/apis/js-apis-application-abilityDelegatorRegistry.md)。 - -## AbilityDelegatorArgs介绍 - -AbilityDelegatorArgs是测试框架提供的测试参数类。开发者可以使用AbilityDelegatorArgs获取执行此次测试时传入和生成的相关参数。具体详细内容请参考AbilityDelegatorArgs API接口说明[AbilityDelegatorArgs](../reference/apis/js-apis-inner-application-abilityDelegatorArgs.md)。 - -## AbilityMonitor介绍 - -AbilityMonitor是测试框架提供用来绑定并监听Ability类。开发者可以使用AbilityMonitor绑定Ability,并将AbilityMonitor添加到监听列表。绑定后Ability的创建、生命周期变化等会触发AbilityMonitor内相关回调函数,开发者可以在对应回调函数内进行测试验证。具体详细内容请参考AbilityMonitor API接口说明[AbilityMonitor](../reference/apis/js-apis-inner-application-abilityMonitor.md)。 - -**示例** - -```javascript -import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; - -function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); -} - -var monitor = { - abilityName: "abilityname", - onAbilityCreate: onAbilityCreateCallback -} - -var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); -abilityDelegator.addAbilityMonitor(monitor).then(() => { - console.info("addAbilityMonitor promise"); -}); -``` - -## AbilityDelegator介绍 - -AbilityDelegator是测试框架主要功能类,提供了启动Ability、获取Ability示例、调度Ability生命周期、对Ability生命周期进行监听、打印测试结果等功能。 - -**导入模块** - -```javascript -import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; -``` - -```javascript -var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); -``` - -### 启动Ability并监听Ability状态变化 - -配合AbilityMonitor使用,可以实现对Ability启动、Ability实例获取、监听状态变化功能。 - -**示例:** - -```javascript -var abilityDelegator; -var ability; -var timeout = 100; - -function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); -} - -var monitor = { - abilityName: "abilityname", - onAbilityCreate: onAbilityCreateCallback -} - -abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); -abilityDelegator.waitAbilityMonitor(monitor, timeout, (err, data) => { - ability = data; - console.info("waitAbilityMonitor callback"); -}); - -var want = { - bundleName: "bundleName", - abilityName: "abilityName" -}; -abilityDelegator.startAbility(want, (err, data) => { - console.info("startAbility callback"); -}); -``` - -### 调度Ability生命周期 - -AbilityDelegator提供对Ability生命周期进行显示调度的能力,支持Foreground、Background,配合AbilityMonitor中对Ability生命周期监听方法,可以完整的测试Ability生命周期变化。具体详细内容请参考AbilityDelegator API接口说明[AbilityDelegator](../reference/apis/js-apis-inner-application-abilityDelegator.md)。 - -### 执行shellCMD命令 - -AbilityDelegator提供执行shellCMD命令功能,开发者可以在测试代码中执行shell命令,该功能仅在测试环境中生效,非测试环境该接口调用无效果。 - -**示例:** - -```javascript -var abilityDelegator; -var cmd = "cmd"; -abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); -abilityDelegator.executeShellCommand(cmd, (err, data) => { - console.info("executeShellCommand callback"); -}); -``` - -### 打印日志信息 - -AbilityDelegator提供打印日志信息功能,开发者可以在测试代码中输出过程日志信息到终端控制台。 - -**示例:** - -```javascript -var abilityDelegator; -var msg = "msg"; - -abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); -abilityDelegator.print(msg, (err) => { - console.info("print callback"); -}); -``` - -### 结束测试并打印日志信息 - -AbilityDelegator提供主动结束测试的功能,开发者可以在测试代码中主动结束测试过程并输出日志码及信息到终端控制台。 - -**示例:** - -```javascript -var abilityDelegator; -var msg = "msg"; - -abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); -abilityDelegator.finishTest(msg, 0, (err) => { - console.info("finishTest callback"); -}); -``` \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/context-userguide.md b/zh-cn/application-dev/ability-deprecated/context-userguide.md deleted file mode 100644 index baf0f1885e..0000000000 --- a/zh-cn/application-dev/ability-deprecated/context-userguide.md +++ /dev/null @@ -1,318 +0,0 @@ -# 应用上下文Context使用指导 - -## Context概述 - -​ Context是应用中对象的上下文,提供获取应用程序环境信息的能力。 - -​ OpenHarmony的应用框架分为FA模型和Stage两种模型。对应存在两套Context机制适配两种应用框架模型,其中application/BaseContext属于通用的Context基类,里面包含一个属性stageMode,用来区分开发模型是FA还是Stage。 - -- FA模型 - 只有app/Context中的方法属于FA模型对应的Context。该模式下,应用级别的Context和Ability级别的Context都是该类型的实例,如果在应用级别的Context里面调用了Ability级别的方法,会产生错误。所以开发者需要注意Context实例所代表的实际含义。 - -- Stage模型 - 除了app/Context之外的Context都属于Stage模型,分别有application/Context、application/ApplicationContext、application/AbilityStageContext、application/ExtensionContext、application/AbilityContext、application/FormExtensionContext等Context。这些Context的介绍及使用方式将会在[Stage模型的Context详细介绍](#stage模型的context详细介绍)中进行说明。 - -![contextIntroduction](figures/contextIntroduction.png) - -## FA模型的Context详细介绍 - -​ 只有app/Context中的方法属于FA模型对应的Context。 - -​ FA模型只有一个Context定义。Context中所有的功能都是通过方法来提供的,它提供了一些featureAbility中不存在的方法,相当于featureAbility的一个扩展和补全。 - -**d.ts声明** - -​ https://gitee.com/openharmony/interface_sdk-js/blob/master/api/app/context.d.ts - -**示例** - -```javascript -import featureAbility from '@ohos.ability.featureAbility' -export default { - onCreate() { - // 获取context并调用相关方法 - let context = featureAbility.getContext(); - context.getBundleName((data, bundleName)=>{ - console.info("ability bundleName:" + bundleName) - }); - console.info('Application onCreate') - }, - onDestroy() { - console.info('Application onDestroy') - }, -} -``` - -### FA模型Context常用方法介绍 -方法: -```javascript -setDisplayOrientation(orientation: bundle.DisplayOrientation, callback: AsyncCallback): void -setDisplayOrientation(orientation: bundle.DisplayOrientation): Promise; -``` -简介:设置当前ability的显示方向。 - -示例: -```javascript -import featureAbility from '@ohos.ability.featureAbility' -import bundle from '@ohos.bundle'; - -export default { - onCreate() { - // 获取context并调用相关方法 - let context = featureAbility.getContext(); - context.setDisplayOrientation(bundle.DisplayOrientation.LANDSCAPE).then(() => { - console.log("Set display orientation.") - }) - console.info('Application onCreate') - }, - onDestroy() { - console.info('Application onDestroy') - }, -} -``` - -## Stage模型的Context详细介绍 - -​ Stage模型有如下几类Context: - -### application/Context - -​ application/Context是基类Context。里面提供了应用的一些基础信息:resourceManager、applicationInfo、cacheDir、area等,还有应用的一些基本方法:createModuleContext等。 - -**d.ts声明** - -​ https://gitee.com/openharmony/interface_sdk-js/blob/master/api/application/Context.d.ts - -### application/ApplicationContext - -​ application/ApplicationContext是应用级别的Context。和基类Context相比,应用级别的Context中提供了监听进程内组件的生命周期的能力,包括registerAbilityLifecycleCallback和unregisterAbilityLifecycleCallback两种方法。 - -**获取方法** - -​ 在Ability中通过context.getApplicationContext()方法获取。 - -**示例** - -```javascript -import UIAbility from '@ohos.app.ability.UIAbility'; - -var lifecycleid; - -export default class EntryAbility extends UIAbility { - onCreate() { - console.log("EntryAbility onCreate") - let AbilityLifecycleCallback = { - onAbilityCreate(ability){ - console.log("AbilityLifecycleCallback onAbilityCreate ability:" + JSON.stringify(ability)); - }, - onWindowStageCreate(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageCreate ability:" + JSON.stringify(ability)); - console.log("AbilityLifecycleCallback onWindowStageCreate windowStage:" + JSON.stringify(windowStage)); - }, - onWindowStageActive(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageActive ability:" + JSON.stringify(ability)); - console.log("AbilityLifecycleCallback onWindowStageActive windowStage:" + JSON.stringify(windowStage)); - }, - onWindowStageInactive(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageInactive ability:" + JSON.stringify(ability)); - console.log("AbilityLifecycleCallback onWindowStageInactive windowStage:" + JSON.stringify(windowStage)); - }, - onWindowStageDestroy(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageDestroy ability:" + JSON.stringify(ability)); - console.log("AbilityLifecycleCallback onWindowStageDestroy windowStage:" + JSON.stringify(windowStage)); - }, - onAbilityDestroy(ability){ - console.log("AbilityLifecycleCallback onAbilityDestroy ability:" + JSON.stringify(ability)); - }, - onAbilityForeground(ability){ - console.log("AbilityLifecycleCallback onAbilityForeground ability:" + JSON.stringify(ability)); - }, - onAbilityBackground(ability){ - console.log("AbilityLifecycleCallback onAbilityBackground ability:" + JSON.stringify(ability)); - }, - onAbilityContinue(ability){ - console.log("AbilityLifecycleCallback onAbilityContinue ability:" + JSON.stringify(ability)); - } - } - // 1.通过context属性获取applicationContext - let applicationContext = this.context.getApplicationContext(); - // 2.通过applicationContext注册监听应用内生命周期 - lifecycleid = applicationContext.registerAbilityLifecycleCallback(AbilityLifecycleCallback); - console.log("registerAbilityLifecycleCallback number: " + JSON.stringify(lifecycleid)); - }, - onDestroy() { - let applicationContext = this.context.getApplicationContext(); - applicationContext.unregisterAbilityLifecycleCallback(lifecycleid, (error, data) => { - console.log("unregisterAbilityLifecycleCallback success, err: " + JSON.stringify(error)); - }); - } -} -``` - -**d.ts声明** - -​ https://gitee.com/openharmony/interface_sdk-js/blob/master/api/application/ApplicationContext.d.ts - -### application/AbilityStageContext - -​ application/AbilityStageContext是Hap包级别的Context。和基类Context相比,Hap包级别的Context中多了HapModuleInfo和Configuration两个信息。 - -**获取方法** - -​ 可以直接在AbilityStage中通过context属性获取。 - -**示例** - -```javascript -export default class MyAbilityStage extends AbilityStage { - onCreate() { - // 属性context就是AbilityStageContext类型的 - console.log('HapModuleInfo is ' + this.context.currentHapModuleInfo); - } -} -``` - -**d.ts声明** - -​ https://gitee.com/openharmony/interface_sdk-js/blob/master/api/application/AbilityStageContext.d.ts - -### application/AbilityContext - -​ Stage模型下,每个Ability中都包含了一个Context属性。 - -​ Ability功能主要是处理生命周期,其余操作Ability的方法(如startAbility、connectAbility等)都是在AbilityContext中实现的。 - -**获取方法** - -​ 在Ability中通过context属性获取。 - -**示例** - -```javascript -import UIAbility from '@ohos.app.ability.UIAbility'; - -export default class EntryAbility extends UIAbility { - onCreate(want, launchParam) { - console.log("[Demo] EntryAbility onCreate") - globalThis.abilityWant = want; - } - - onDestroy() { - console.log("[Demo] EntryAbility onDestroy") - } - - onWindowStageCreate(windowStage) { - // Main window is created, set main page for this ability - console.log("[Demo] EntryAbility onWindowStageCreate") - - // 在这里获取AbilityContext,打印ability的信息 - let context = this.context; - console.log("[Demo] EntryAbility bundleName " + context.abilityInfo.bundleName) - - windowStage.loadContent("pages/index", (err, data) => { - if (err.code) { - console.error('Failed to load the content. Cause:' + JSON.stringify(err)); - return; - } - console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data)) - }); - } - - onWindowStageDestroy() { - // Main window is destroyed, release UI related resources - console.log("[Demo] EntryAbility onWindowStageDestroy") - } - - onForeground() { - // Ability has brought to foreground - console.log("[Demo] EntryAbility onForeground") - } - - onBackground() { - // Ability has back to background - console.log("[Demo] EntryAbility onBackground") - } -}; -``` - -### application/FormExtensionContext - -卡片业务相关,点下面链接了解。 - -​ [FormExtensionContext](../reference/apis/js-apis-inner-application-formExtensionContext.md) - -### 在ArkTS页面中访问Context - -Stage模型下,在Ability的`onWindowStageCreate`生命周期中,可以通过WindowStage的`SetUIContent`方法加载一个ArkTS页面。在一些场景中,需要在页面内获取Context调用相关API。 - -**获取方法** - -在ArkTS页面中通过以下全局方法获取当前页面关联的Context。 - -| 接口名 | 描述 | -| :------------------------------------ | :----------------------------------------------------------- | -| getContext(component: Object): Object | 获取页面中component所关联的Context对象。
从API version 9开始,该接口支持在ArkTS卡片中使用。 | - -**示例** - -```ts -// EntryAbility.ts -import UIAbility from '@ohos.app.ability.UIAbility'; - -export default class EntryAbility extends UIAbility { - onCreate(want, launchParam) { - console.log("[Demo] EntryAbility onCreate") - } - - onDestroy() { - console.log("[Demo] EntryAbility onDestroy") - } - - onWindowStageCreate(windowStage) { - // 加载index页面,并传入当前Context - windowStage.setUIContent(this.context, "pages/index", null) - } - - onWindowStageDestroy() {} - - onForeground() {} - - onBackground() {} -}; -``` - -```ts -// pages/index.ets -import context from '@ohos.app.ability.context' - -type Context = context.Context - -@Entry -@Component -struct Index { - build() { - Row() { - Column() { - Text('GetContext') - .fontSize(50) - .fontWeight(FontWeight.Bold) - .onClick(() => { - // 获取当前component关联的Context - var context : Context = getContext(this) as Context - console.info("CacheDir:" + context.cacheDir) - }) - } - .width('100%') - } - .height('100%') - } -} -``` - -## 常见错误使用方式 - -**错误1:Stage模型通过globalThis去获取Context** - -**原因** - -​ 应用框架在API9上推出了新的应用模型(Stage模型)。在老的模型(FA模型)下,每个Ability实例有一个js虚拟机实例,所以可以从js引擎的global对象上,获取到一个全局的Ability实例,但是在新的模型(Stage模型)下,整个应用进程共用一个js虚拟机实例,其中可以运行多个Ability实例,这样就不存在一个全局的Ability实例。如果开发者在新的模型(Stage模型)下,调用的API实现仍然走到了获取全局Ability实例的方法,就可能会发生错误或者崩溃。 \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/continuationmanager.md b/zh-cn/application-dev/ability-deprecated/continuationmanager.md deleted file mode 100644 index 6e11cccf8e..0000000000 --- a/zh-cn/application-dev/ability-deprecated/continuationmanager.md +++ /dev/null @@ -1,275 +0,0 @@ -# ContinuationManager开发指导 - -> 说明:本模块接口用于拉起系统中的设备选择模块,由于该模块功能暂不完备,因此**流转能力整体暂不支持用于应用开发**。 - -## 场景简介 -随着全场景多设备生活方式的不断深入,用户拥有的设备越来越多,每个设备都能在适合的场景下提供良好的体验,但是,每个设备也有使用场景的局限。流转能力致力于打破设备界限,多设备联动,使用户应用程序可分可合、可流转,实现体验升级。 - -continuationManager作为流转能力的入口,主要用于拉起系统中的设备选择模块供用户选择,待选择设备后,会给用户返回已选择的远端设备信息,用户可以根据远端设备信息发起跨端迁移或多端协同操作。 - -![continuationManager](figures/continuationManager.png) - -## 接口说明 -| 接口名 | 接口描述 | -| ---------------------------------------------------------------------------------------------- | ----------- | -| registerContinuation(callback: AsyncCallback\): void | 注册流转管理服务,并获取对应的注册token,无过滤条件(AsyncCallback)。 | -| registerContinuation(options: ContinuationExtraParams, callback: AsyncCallback\): void | 注册流转管理服务,并获取对应的注册token(AsyncCallback)。 | -| registerContinuation(options?: ContinuationExtraParams): Promise\ | 连接流转管理服务,并获取对应的注册token(Promise)。 | -| on(type: "deviceSelected", token: number, callback: Callback\>): void | 监听设备连接状态(Callback)。 | -| on(type: "deviceUnselected", token: number, callback: Callback\>): void | 监听设备断开状态(Callback)。 | -| off(type: "deviceSelected", token: number): void | 取消监听设备连接状态。 | -| off(type: "deviceUnselected", token: number): void | 取消监听设备断开状态。 | -| startContinuationDeviceManager(token: number, callback: AsyncCallback\): void | 拉起设备选择模块,可显示组网内可选择设备列表信息,无过滤条件(AsyncCallback)。 | -| startContinuationDeviceManager(token: number, options: ContinuationExtraParams, callback: AsyncCallback\): void | 拉起设备选择模块,可显示组网内可选择设备列表信息(AsyncCallback)。 | -| startContinuationDeviceManager(token: number, options?: ContinuationExtraParams): Promise\ | 拉起设备选择模块,可显示组网内可选择设备列表信息(Promise)。 | -| updateContinuationState(token: number, deviceId: string, status: DeviceConnectState, callback: AsyncCallback\): void | 通知设备选择模块,更新当前的流转状态(AsyncCallback)。 | -| updateContinuationState(token: number, deviceId: string, status: DeviceConnectState): Promise\ | 通知设备选择模块,更新当前的流转状态(Promise)。 | -| unregisterContinuation(token: number, callback: AsyncCallback\): void | 取消注册流转管理服务,传入注册时获取的token进行取消注册(AsyncCallback)。 | -| unregisterContinuation(token: number): Promise\ | 取消注册流转管理服务,传入注册时获取的token进行取消注册(Promise)。 | - -## 开发步骤 -1. 导入continuationManager模块。 - - ```ts - import continuationManager from '@ohos.continuation.continuationManager'; - ``` - -2. 申请分布式权限 DISTRIBUTED_DATASYNC。 - - 权限申请在FA平台和Stage平台有区别,FA平台需要在`config.json`里面进行配置请求权限,示例代码如下: - - ```json - { - "module": { - "reqPermissions": [ - { - "name": "ohos.permission.DISTRIBUTED_DATASYNC" - } - ] - } - } - ``` - - 这个权限还需要在应用首次启动的时候弹窗获取用户授权,可以通过如下代码实现: - - ```ts - import abilityAccessCtrl from "@ohos.abilityAccessCtrl"; - import bundle from '@ohos.bundle'; - import featureAbility from '@ohos.ability.featureAbility'; - - async function requestPermission() { - let permissions: Array = [ - "ohos.permission.DISTRIBUTED_DATASYNC" - ]; - let needGrantPermission: boolean = false; - let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager(); - let applicationInfo = await bundle.getApplicationInfo('ohos.samples.etsDemo', 0, 100); - for (let i = 0; i < permissions.length; i++) { - let result = await atManager.verifyAccessToken(applicationInfo.accessTokenId, permissions[i]); - //判断是否未申请该权限 - if (result == abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) { - needGrantPermission = true; - break; - } - } - // 如果未申请该权限,则需要调用requestPermissionsFromUser接口申请权限 - if (needGrantPermission) { - await featureAbility.getContext().requestPermissionsFromUser(permissions, 1); - } else { - console.info('app permission already granted'); - } - } - ``` - - Stage平台需要在`module.json5`里面进行配置请求权限,示例代码如下: - - ```json - { - "module": { - "requestPermissions": [ - { - "name": "ohos.permission.DISTRIBUTED_DATASYNC" - } - ] - } - } - ``` - - ```ts - import abilityAccessCtrl from "@ohos.abilityAccessCtrl"; - import bundle from '@ohos.bundle'; - - async function requestPermission() { - let permissions: Array = [ - "ohos.permission.DISTRIBUTED_DATASYNC" - ]; - let needGrantPermission: boolean = false; - let atManger: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager(); - let applicationInfo = await bundle.getApplicationInfo('ohos.samples.continuationmanager', 0, 100); - for (const permission of permissions) { - try { - let grantStatus = await atManger.verifyAccessToken(applicationInfo.accessTokenId, permission); - //判断是否未申请该权限 - if (grantStatus === abilityAccessCtrl.GrantStatus.PERMISSION_DENIED) { - needGrantPermission = true; - break; - } - } catch (err) { - console.error('app permission query grant status error' + JSON.stringify(err)); - needGrantPermission = true; - break; - } - } - // 如果未申请该权限,则需要调用requestPermissionsFromUser接口申请权限 - if (needGrantPermission) { - try { - // globalThis.context即Ability.context,需提前在MainAbility.ts文件中赋值 - await atManger.requestPermissionsFromUser(globalThis.context, permissions); - } catch (err) { - console.error('app permission request permissions error' + JSON.stringify(err)); - } - } else { - console.info('app permission already granted'); - } - } - ``` - -3. 注册流转管理服务,获取对应的注册token。 - - 注册流转管理服务的代码示例如下: - - ```ts - let token: number = -1; // 用于保存注册成功并返回的token,后续使用其完成监听设备连接/断开状态、拉起设备选择模块以及更新流转状态的动作 - try { - continuationManager.registerContinuation().then((data) => { - console.info('registerContinuation finished, ' + JSON.stringify(data)); - token = data; // 获取到对应的注册token,并赋值给token变量 - }).catch((err) => { - console.error('registerContinuation failed, cause: ' + JSON.stringify(err)); - }); - } catch (err) { - console.error('registerContinuation failed, cause: ' + JSON.stringify(err)); - } - ``` - -4. 监听设备状态。 - - 监听设备连接状态的代码示例如下: - - ```ts - let remoteDeviceId: string = ""; // 用于保存用户选择的远端设备信息,后续使用其完成跨端迁移或多端协同操作 - - try { - // 参数token为注册token - continuationManager.on("deviceSelected", token, (continuationResults) => { - console.info('registerDeviceSelectedCallback len: ' + continuationResults.length); - if (continuationResults.length <= 0) { - console.info('no selected device'); - return; - } - remoteDeviceId = continuationResults[0].id; // 将选择的第一个远端设备deviceId赋值给remoteDeviceId变量 - - // 将remoteDeviceId参数传给want - let want = { - deviceId: remoteDeviceId, - bundleName: 'ohos.samples.continuationmanager', - abilityName: 'EntryAbility' - }; - globalThis.abilityContext.startAbility(want).then((data) => { - console.info('StartRemoteAbility finished, ' + JSON.stringify(data)); - }).catch((err) => { - console.error('StartRemoteAbility failed, cause: ' + JSON.stringify(err)); - }); - }); - } catch (err) { - console.error('on failed, cause: ' + JSON.stringify(err)); - } - ``` - - 上述多端协同操作为Stage平台的跨设备拉起,FA平台详情见[PageAbility开发指导](fa-pageability.md)。 - - 同时用户还可通知设备选择模块,更新当前的流转状态,代码示例如下: - - ```ts - // 设置设备流转状态 - let deviceConnectStatus: continuationManager.DeviceConnectState = continuationManager.DeviceConnectState.CONNECTED; - - // 参数token为注册token,参数remoteDeviceId为获取到的remoteDeviceId - try { - continuationManager.updateContinuationState(token, remoteDeviceId, deviceConnectStatus).then((data) => { - console.info('updateContinuationState finished, ' + JSON.stringify(data)); - }).catch((err) => { - console.error('updateContinuationState failed, cause: ' + JSON.stringify(err)); - }); - } catch (err) { - console.error('updateContinuationState failed, cause: ' + JSON.stringify(err)); - } - ``` - - 监听设备断开状态,方便用户终止跨端迁移或多端协同操作,代码示例如下: - - ```ts - try { - // 参数token为注册token - continuationManager.on("deviceUnselected", token, (continuationResults) => { - console.info('onDeviceUnselected len: ' + continuationResults.length); - if (continuationResults.length <= 0) { - console.info('no unselected device'); - return; - } - - // 更新设备流转状态 - let unselectedDeviceId: string = continuationResults[0].id; // 将取消选择的第一个远端设备deviceId赋值给unselectedDeviceId变量 - let deviceConnectStatus: continuationManager.DeviceConnectState = continuationManager.DeviceConnectState.DISCONNECTING; // 设备断开状态 - - // 参数token为注册token,参数unselectedDeviceId为获取到的unselectedDeviceId - continuationManager.updateContinuationState(token, unselectedDeviceId, deviceConnectStatus).then((data) => { - console.info('updateContinuationState finished, ' + JSON.stringify(data)); - }).catch((err) => { - console.error('updateContinuationState failed, cause: ' + JSON.stringify(err)); - }); - }); - } catch (err) { - console.error('updateContinuationState failed, cause: ' + JSON.stringify(err)); - } - ``` - -5. 拉起设备选择模块,可显示组网内可选择设备列表信息,供用户选择。 - - 拉起设备选择模块的代码示例如下: - - ```ts - // 过滤参数 - let continuationExtraParams = { - deviceType: ["00E"], // 设备类型 - continuationMode: continuationManager.ContinuationMode.COLLABORATION_SINGLE // 设备选择模块单选模式 - }; - - try { - // 参数token为注册token - continuationManager.startContinuationDeviceManager(token, continuationExtraParams).then((data) => { - console.info('startContinuationDeviceManager finished, ' + JSON.stringify(data)); - }).catch((err) => { - console.error('startContinuationDeviceManager failed, cause: ' + JSON.stringify(err)); - }); - } catch (err) { - console.error('startContinuationDeviceManager failed, cause: ' + JSON.stringify(err)); - } - ``` - -6. 当用户不打算再进行跨端迁移或多端协同操作时,可以传入注册时获取的token进行取消注册。 - - 取消注册流转管理服务的代码示例如下: - - ```ts - try { - // 参数token为注册token - continuationManager.unregisterContinuation(token).then((data) => { - console.info('unregisterContinuation finished, ' + JSON.stringify(data)); - }).catch((err) => { - console.error('unregisterContinuation failed, cause: ' + JSON.stringify(err)); - }); - } catch (err) { - console.error('unregisterContinuation failed, cause: ' + JSON.stringify(err)); - } - ``` \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/fa-brief.md b/zh-cn/application-dev/ability-deprecated/fa-brief.md deleted file mode 100644 index 037ccde961..0000000000 --- a/zh-cn/application-dev/ability-deprecated/fa-brief.md +++ /dev/null @@ -1,56 +0,0 @@ -# FA模型综述 - -## 整体架构 - -OpenHarmony应用的开发,是以Ability为入口展开的。 - -对于Ability的开发,通常是以生命周期的回调处理为中心。 - -Ability框架在API 8及更早版本仅支持FA模型。FA模型中Ability分为PageAbility、ServiceAbility、DataAbility、FormAbility几种类型。其中: -- PageAbility使用ArkUI实现用户界面,是用户可见并可以交互的Ability实例。 -- ServiceAbility也是Ability一种,但是没有用户界面。它提供了其他Ability调用的自定义服务,ServiceAbility在后台运行。 -- DataAbility也是没有界面的Ability,提供其他Ability进行数据的增删查服务,它同样在后台运行。 -- FormAbility是实现卡片的Ability,卡片是OpenHarmomny系统上的一种界面展示形式。 - -> 注:自API 9开始,Stage模型是主推的开发模型。 - -## 生命周期 - -在所有Ability中,PageAbility因为具有界面,也是应用的交互入口,因此其生命周期更加复杂。 -**PageAbility生命周期回调如下图所示:** - -![fa-pageAbility-lifecycle](figures/fa-pageAbility-lifecycle.png) - -其他类型Ability的生命周期可参考PageAbility生命周期去除前后台切换以及`onShow`及`onHide`的部分来理解。 -开发者可以在 `app.js/app.ets` 中重写生命周期函数,在对应的生命周期回调内处理应用的相应逻辑。 - -目前`app.js`仅支持`onCreate`和`onDestroy`回调,但`app.ets`支持全量生命周期回调。 - -## 进程线程模型 - -每个应用运行在不同的进程中,在FA模型中,每个Ability运行在独立的虚拟机中。 - -应用进程在Ability启动时创建,此时会为Ability创建相应的线程。当一个应用有多个Ability时,每一个Ability在独立线程中运行。在FA模型中,每个Ability绑定一个独立的虚拟机实例,因此Ability之间是隔离的。 - -![fa-threading-model](figures/fa-threading-model.png) - -## 应用包结构 - -FA模型的应用包的工程目录结构,请参考[OpenHarmony工程介绍](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-project-overview-0000001218440650#section4154183910141)。 - -对FA模型的应用包结构的配置说明,请参考[应用包结构说明(FA模型)](../quick-start/application-configuration-file-overview-fa.md)。 - - - -## 相关实例 - -针对FA模型下的Ability开发,有以下相关实例可供参考: - -- [`ArkTSDistributedCalc`:分布式计算器(ArkTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SuperFeature/DistributedAppDev/ArkTSDistributedCalc) -- [`DistributedDataGobang`:分布式五子棋(ArkTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/Solutions/Game/DistributedDataGobang) -- [分布式新闻客户端(JS)(API8)](https://gitee.com/openharmony/codelabs/tree/master/Distributed/NewsDemo) -- [分布式鉴权(JS)(API8)](https://gitee.com/openharmony/codelabs/tree/master/Distributed/GameAuthOpenH) -- [分布式游戏手柄(ArkTS)(Full SDK)(API8)](https://gitee.com/openharmony/codelabs/tree/master/Distributed/HandleGameApplication) -- [分布式邮件(ArkTS)(Full SDK)(API8)](https://gitee.com/openharmony/codelabs/tree/master/Distributed/OHMailETS) -- [分布式亲子早教系统(ArkTS)(Full SDK)(API8)](https://gitee.com/openharmony/codelabs/tree/master/Distributed/OpenHarmonyPictureGame) -- [分布式遥控器(ArkTS)(Full SDK)(API8)](https://gitee.com/openharmony/codelabs/tree/master/Distributed/RemoteControllerETS) \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/fa-dataability.md b/zh-cn/application-dev/ability-deprecated/fa-dataability.md deleted file mode 100644 index c8bf244956..0000000000 --- a/zh-cn/application-dev/ability-deprecated/fa-dataability.md +++ /dev/null @@ -1,311 +0,0 @@ -# DataAbility开发指导 - -## 场景介绍 - -基于Data模板的Ability(以下简称“Data”),有助于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法。Data既可用于同设备不同应用的数据共享,也支持跨设备不同应用的数据共享。 - -Data提供方可以自定义数据的增、删、改、查,以及文件打开等功能,并对外提供这些接口。 - -## URI介绍 - -Data的提供方和使用方都通过URI(Uniform Resource Identifier)来标识一个具体的数据,例如数据库中的某个表或磁盘上的某个文件。OpenHarmony的URI仍基于URI通用标准,格式如下: - -![fa-dataability-uri](figures/fa-dataability-uri.png) - -- scheme:协议方案名,固定为“dataability”,代表Data Ability所使用的协议类型。 -- authority:设备ID。如果为跨设备场景,则为目标设备的ID;如果为本地设备场景,则不需要填写。 -- path:资源的路径信息,代表特定资源的位置信息。 -- query:查询参数。 -- fragment:可以用于指示要访问的子资源。 - -URI示例: - -- 跨设备场景:dataability://*device_id*/*com.domainname.dataability.persondata*/*person*/*10* -- 本地设备:dataability:///*com.domainname.dataability.persondata*/*person*/*10* - -> 说明 -> -> 本地设备的“device_id”字段为空,因此在“dataability:”后面有三个“/”。 - -## 接口说明 - -**表1** Data中相关生命周期API功能介绍 -|接口名|描述| -|:------|:------| -|onInitialized(info: AbilityInfo): void|在Ability初始化调用,通过此回调方法执行RDB等初始化操作。| -|update(uri: string, valueBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\): void|更新数据库中的数据。| -|query(uri: string, columns: Array\, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\): void|查询数据库中的数据。| -|delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\): void|删除一条或多条数据。| -|normalizeUri(uri: string, callback: AsyncCallback\): void|对URI进行规范化。一个规范化的URI可以支持跨设备使用、持久化、备份和还原等,当上下文改变时仍然可以引用到相同的数据项。| -|batchInsert(uri: string, valueBuckets: Array\, callback: AsyncCallback\): void|向数据库中插入多条数据。| -|denormalizeUri(uri: string, callback: AsyncCallback\): void|将一个由normalizeUri生产的规范化URI转换成非规范化的URI。| -|insert(uri: string, valueBucket: rdb.ValuesBucket, callback: AsyncCallback\): void|向数据中插入一条数据。| -|openFile(uri: string, mode: string, callback: AsyncCallback\): void|打开一个文件。| -|getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback\>): void|获取文件的MIME类型。| -|getType(uri: string, callback: AsyncCallback\): void|获取URI指定数据相匹配的MIME类型。| -|executeBatch(ops: Array\, callback: AsyncCallback\>): void|批量操作数据库中的数据。| -|call(method: string, arg: string, extras: PacMap, callback: AsyncCallback\): void|自定义方法。| - - -## 开发步骤 -### 创建Data - -1. 实现Data中Insert、Query、Update、Delete接口的业务内容。保证能够满足数据库存储业务的基本需求。BatchInsert与ExecuteBatch接口已经在系统中实现遍历逻辑,依赖Insert、Query、Update、Delete接口逻辑,来实现数据的批量处理。 - - 创建Data的代码示例如下: - - ```javascript - import featureAbility from '@ohos.ability.featureAbility' - import dataAbility from '@ohos.data.dataAbility' - import dataRdb from '@ohos.data.rdb' - - const TABLE_NAME = 'book' - const STORE_CONFIG = { name: 'book.db' } - const SQL_CREATE_TABLE = 'CREATE TABLE IF NOT EXISTS book(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, introduction TEXT NOT NULL)' - let rdbStore: dataRdb.RdbStore = undefined - - export default { - onInitialized(abilityInfo) { - console.info('DataAbility onInitialized, abilityInfo:' + abilityInfo.bundleName) - let context = featureAbility.getContext() - dataRdb.getRdbStore(context, STORE_CONFIG, 1, (err, store) => { - console.info('DataAbility getRdbStore callback') - store.executeSql(SQL_CREATE_TABLE, []) - rdbStore = store - }); - }, - insert(uri, valueBucket, callback) { - console.info('DataAbility insert start') - rdbStore.insert(TABLE_NAME, valueBucket, callback) - }, - batchInsert(uri, valueBuckets, callback) { - console.info('DataAbility batch insert start') - for (let i = 0;i < valueBuckets.length; i++) { - console.info('DataAbility batch insert i=' + i) - if (i < valueBuckets.length - 1) { - rdbStore.insert(TABLE_NAME, valueBuckets[i], (err: any, num: number) => { - console.info('DataAbility batch insert ret=' + num) - }) - } else { - rdbStore.insert(TABLE_NAME, valueBuckets[i], callback) - } - } - }, - query(uri, columns, predicates, callback) { - console.info('DataAbility query start') - let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates) - rdbStore.query(rdbPredicates, columns, callback) - }, - update(uri, valueBucket, predicates, callback) { - console.info('DataAbilityupdate start') - let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates) - rdbStore.update(valueBucket, rdbPredicates, callback) - }, - delete(uri, predicates, callback) { - console.info('DataAbilitydelete start') - let rdbPredicates = dataAbility.createRdbPredicates(TABLE_NAME, predicates) - rdbStore.delete(rdbPredicates, callback) - } - }; - ``` - -2. 子模块配置 - - | Json重要字段 | 备注说明 | - | ------------ | ------------------------------------------------------------ | - | "name" | Ability名称,对应Ability派生的Data类名。 | - | "type" | Ability类型,Data对应的Ability类型为”data“。 | - | "uri" | 通信使用的URI。 | - | "visible" | 对其他应用是否可见,设置为true时,Data才能与其他应用进行通信传输数据。 | - - **config.json配置样例** - - ```json - "abilities":[{ - "srcPath": "DataAbility", - "name": ".DataAbility", - "icon": "$media:icon", - "srcLanguage": "ets", - "description": "$string:description_dataability", - "type": "data", - "visible": true, - "uri": "dataability://ohos.samples.etsdataability.DataAbility" - }] - ``` - -### 访问Data -#### 开发前准备 - -需导入基础依赖包,以及获取与Data子模块通信的URI字符串。 - -其中,基础依赖包包括: -- @ohos.ability.featureAbility -- @ohos.data.dataAbility -- @ohos.data.rdb - -#### DataAbility接口开发指导 - - -1. 创建工具接口类对象。 - - 工具接口类对象DataAbilityHelper相关接口可参考[DataAbilityHelper模块](../reference/apis/js-apis-inner-ability-dataAbilityHelper.md)。 - ```js - // 作为参数传递的URI,与config中定义的URI的区别是多了一个"/",是因为作为参数传递的URI中,在第二个与第三个"/"中间,存在一个DeviceID的参数 - import featureAbility from '@ohos.ability.featureAbility' - import ohos_data_ability from '@ohos.data.dataAbility' - import ohos_data_rdb from '@ohos.data.rdb' - - var urivar = "dataability:///com.ix.DataAbility" - var DAHelper = featureAbility.acquireDataAbilityHelper( - urivar - ); - ``` -2. 构建数据库相关的RDB数据。 - ```js - var valuesBucket = {"name": "gaolu"} - var da = new ohos_data_ability.DataAbilityPredicates() - var valArray =new Array("value1"); - var cars = new Array({"batchInsert1" : "value1",}); - ``` -3. 调用insert方法向指定的Data子模块插入数据。 - ```js - // callback方式调用: - DAHelper.insert( - urivar, - valuesBucket, - (error, data) => { - console.log("DAHelper insert result: " + data) - } - ); - ``` - - ```js - // promise方式调用: - var datainsert = await DAHelper.insert( - urivar, - valuesBucket - ); - ``` -4. 调用delete方法删除Data子模块中指定的数据。 - ```js - // callback方式调用: - DAHelper.delete( - urivar, - da, - (error, data) => { - console.log("DAHelper delete result: " + data) - } - ); - ``` - - ```js - // promise方式调用: - var datadelete = await DAHelper.delete( - urivar, - da, - ); - ``` -5. 调用update方法更新指定Data子模块中的数据。 - ```js - // callback方式调用: - DAHelper.update( - urivar - valuesBucket, - da, - (error, data) => { - console.log("DAHelper update result: " + data) - } - ); - ``` - - ```js - // promise方式调用: - var dataupdate = await DAHelper.update( - urivar, - valuesBucket, - da, - ); - ``` -6. 调用query方法在指定的Data子模块中查找数据。 - ```js - // callback方式调用: - DAHelper.query( - urivar, - valArray, - da, - (error, data) => { - console.log("DAHelper query result: " + data) - } - ); - ``` - - ```js - // promise方式调用: - var dataquery = await DAHelper.query( - urivar, - valArray, - da - ); - ``` -7. 调用batchInsert方法向指定的数据子模块批量插入数据。 - ```js - // callback方式调用: - DAHelper.batchInsert( - urivar, - cars, - (error, data) => { - console.log("DAHelper batchInsert result: " + data) - } - ); - ``` - - ```js - // promise方式调用: - var databatchInsert = await DAHelper.batchInsert( - urivar, - cars - ); - ``` -8. 调用executeBatch方法向指定的Data子模块进行数据的批量处理。 - ```js - // callback方式调用: - DAHelper.executeBatch( - urivar, - [ - { - uri: urivar, - type: featureAbility.DataAbilityOperationType.TYPE_INSERT, - valuesBucket: {"executeBatch" : "value1",}, - predicates: da, - expectedCount:0, - predicatesBackReferences: null, - interrupted:true, - } - ], - (error, data) => { - console.log("DAHelper executeBatch result: " + data) - } - ); - ``` - - ```js - // promise方式调用: - var dataexecuteBatch = await DAHelper.executeBatch( - urivar, - [ - { - uri: urivar, - type: featureAbility.DataAbilityOperationType.TYPE_INSERT, - valuesBucket: - { - "executeBatch" : "value1", - }, - predicates: da, - expectedCount:0, - predicatesBackReferences: null, - interrupted:true, - } - ] - ); - ``` - diff --git a/zh-cn/application-dev/ability-deprecated/fa-formability.md b/zh-cn/application-dev/ability-deprecated/fa-formability.md deleted file mode 100644 index 5e9a31449c..0000000000 --- a/zh-cn/application-dev/ability-deprecated/fa-formability.md +++ /dev/null @@ -1,402 +0,0 @@ -# FA卡片开发指导 - -## 卡片概述 -卡片是一种界面展示形式,可以将应用的重要信息或操作前置到卡片,以达到服务直达,减少体验层级的目的。 - -卡片常用于嵌入到其他应用(当前只支持系统应用)中作为其界面的一部分显示,并支持拉起页面,发送消息等基础的交互功能。卡片使用方负责显示卡片。 - -卡片的基本概念: -- 卡片提供方:提供卡片显示内容原子化服务,控制卡片的显示内容、控件布局以及控件点击事件。 -- 卡片使用方:显示卡片内容的宿主应用,控制卡片在宿主中展示的位置。 -- 卡片管理服务:用于管理系统中所添加卡片的常驻代理服务,包括卡片对象的管理与使用,以及卡片周期性刷新等。 - -> **说明:** -> 卡片使用方和提供方不要求常驻运行,在需要添加/删除/请求更新卡片时,卡片管理服务会拉起卡片提供方获取卡片信息。 - -开发者仅需作为卡片提供方进行卡片内容的开发,卡片使用方和卡片管理服务由系统自动处理。 - -卡片提供方控制卡片实际显示的内容、控件布局以及点击事件。 - -## 场景介绍 - -FA卡片开发,即基于[FA模型](fa-brief.md)的卡片提供方开发,主要涉及如下功能逻辑: - -- 开发卡片生命周期回调函数LifecycleForm。 -- 创建卡片数据FormBindingData对象。 -- 通过FormProvider更新卡片。 -- 开发卡片页面。 - -## 接口说明 - -卡片生命周期回调函数LifecycleForm的接口如下: - -**表1** LifecycleForm API接口功能介绍 - -| 接口名 | 描述 | -| :----------------------------------------------------------- | :------------------------------------------- | -| onCreate(want: Want): formBindingData.FormBindingData | 卡片提供方接收创建卡片的通知接口。 | -| onCastToNormal(formId: string): void | 卡片提供方接收临时卡片转常态卡片的通知接口。 | -| onUpdate(formId: string): void | 卡片提供方接收更新卡片的通知接口。 | -| onVisibilityChange(newStatus: { [key: string]: number }): void | 卡片提供方接收修改可见性的通知接口。 | -| onEvent(formId: string, message: string): void | 卡片提供方接收处理卡片事件的通知接口。 | -| onDestroy(formId: string): void | 卡片提供方接收销毁卡片的通知接口。 | -| onAcquireFormState?(want: Want): formInfo.FormState | 卡片提供方接收查询卡片状态的通知接口。 | - -FormProvider类具体的API详见[接口文档](../reference/apis/js-apis-application-formProvider.md)。 - -**表2** FormProvider API接口功能介绍 - -| 接口名 | 描述 | -| :----------------------------------------------------------- | :------------------------------------------------ | -| setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback<void>): void; | 设置指定卡片的下一次更新时间。 | -| setFormNextRefreshTime(formId: string, minute: number): Promise<void>; | 设置指定卡片的下一次更新时间,以promise方式返回。 | -| updateForm(formId: string, formBindingData: FormBindingData, callback: AsyncCallback<void>): void; | 更新指定的卡片。 | -| updateForm(formId: string, formBindingData: FormBindingData): Promise<void>; | 更新指定的卡片,以promise方式返回。 | - -## 开发步骤 - -### 创建LifecycleForm - -创建FA模型的卡片,需实现LifecycleForm的生命周期接口。具体示例代码如下: - -1. 导入相关模块。 - - ```javascript - import formBindingData from '@ohos.app.form.formBindingData'; - import formInfo from '@ohos.app.form.formInfo'; - import formProvider from '@ohos.app.form.formProvider'; - ``` - -2. 实现LifecycleForm生命周期接口。 - - ```javascript - export default { - onCreate(want) { - console.log('FormAbility onCreate'); - // 由开发人员自行实现,将创建的卡片信息持久化,以便在下次获取/更新该卡片实例时进行使用 - let obj = { - "title": "titleOnCreate", - "detail": "detailOnCreate" - }; - let formData = formBindingData.createFormBindingData(obj); - return formData; - }, - onCastToNormal(formId) { - // 使用方将临时卡片转换为常态卡片触发,提供方需要做相应的处理 - console.log('FormAbility onCastToNormal'); - }, - onUpdate(formId) { - // 若卡片支持定时更新/定点更新/卡片使用方主动请求更新功能,则提供方需要重写该方法以支持数据更新 - console.log('FormAbility onUpdate'); - let obj = { - "title": "titleOnUpdate", - "detail": "detailOnUpdate" - }; - let formData = formBindingData.createFormBindingData(obj); - formProvider.updateForm(formId, formData).catch((error) => { - console.log('FormAbility updateForm, error:' + JSON.stringify(error)); - }); - }, - onVisibilityChange(newStatus) { - // 使用方发起可见或者不可见通知触发,提供方需要做相应的处理 - console.log('FormAbility onVisibilityChange'); - }, - onEvent(formId, message) { - // 若卡片支持触发事件,则需要重写该方法并实现对事件的触发 - console.log('FormAbility onEvent'); - }, - onDestroy(formId) { - // 删除卡片实例数据 - console.log('FormAbility onDestroy'); - }, - onAcquireFormState(want) { - console.log('FormAbility onAcquireFormState'); - return formInfo.FormState.READY; - }, - } - ``` - -### 配置卡片配置文件 - -卡片需要在应用配置文件config.json中进行配置。 - -- js模块,用于对应卡片的js相关资源,内部字段结构说明: - - | 属性名称 | 含义 | 数据类型 | 是否可缺省 | - | -------- | ------------------------------------------------------------ | -------- | ------------------------ | - | name | 表示JS Component的名字。该标签不可缺省,默认值为default。 | 字符串 | 否 | - | pages | 表示JS Component的页面用于列举JS Component中每个页面的路由信息[页面路径+页面名称]。该标签不可缺省,取值为数组,数组第一个元素代表JS FA首页。 | 数组 | 否 | - | window | 用于定义与显示窗口相关的配置。 | 对象 | 可缺省 | - | type | 表示JS应用的类型。取值范围如下:
normal:标识该JS Component为应用实例。
form:标识该JS Component为卡片实例。 | 字符串 | 可缺省,缺省值为“normal” | - | mode | 定义JS组件的开发模式。 | 对象 | 可缺省,缺省值为空 | - - 配置示例如下: - - ```json - "js": [{ - "name": "widget", - "pages": ["pages/index/index"], - "window": { - "designWidth": 720, - "autoDesignWidth": true - }, - "type": "form" - }] - ``` - -- abilities模块,用于对应卡片的LifecycleForm,内部字段结构说明: - - | 属性名称 | 含义 | 数据类型 | 是否可缺省 | - | ------------------- | ------------------------------------------------------------ | ---------- | ------------------------ | - | name | 表示卡片的类名。字符串最大长度为127字节。 | 字符串 | 否 | - | description | 表示卡片的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。字符串最大长度为255字节。 | 字符串 | 可缺省,缺省为空。 | - | isDefault | 表示该卡片是否为默认卡片,每个Ability有且只有一个默认卡片。
true:默认卡片。
false:非默认卡片。 | 布尔值 | 否 | - | type | 表示卡片的类型。取值范围如下:
JS:JS卡片。 | 字符串 | 否 | - | colorMode | 表示卡片的主题样式,取值范围如下:
auto:自适应。
dark:深色主题。
light:浅色主题。 | 字符串 | 可缺省,缺省值为“auto”。 | - | supportDimensions | 表示卡片支持的外观规格,取值范围:
1 * 2:表示1行2列的二宫格。
2 * 2:表示2行2列的四宫格。
2 * 4:表示2行4列的八宫格。
4 * 4:表示4行4列的十六宫格。 | 字符串数组 | 否 | - | defaultDimension | 表示卡片的默认外观规格,取值必须在该卡片supportDimensions配置的列表中。 | 字符串 | 否 | - | updateEnabled | 表示卡片是否支持周期性刷新,取值范围:
true:表示支持周期性刷新,可以在定时刷新(updateDuration)和定点刷新(scheduledUpdateTime)两种方式任选其一,优先选择定时刷新。
false:表示不支持周期性刷新。 | 布尔类型 | 否 | - | scheduledUpdateTime | 表示卡片的定点刷新的时刻,采用24小时制,精确到分钟。
updateDuration参数优先级高于scheduledUpdateTime,两者同时配置时,以updateDuration配置的刷新时间为准。 | 字符串 | 可缺省,缺省值为“0:0”。 | - | updateDuration | 表示卡片定时刷新的更新周期,单位为30分钟,取值为自然数。
当取值为0时,表示该参数不生效。
当取值为正整数N时,表示刷新周期为30*N分钟。
updateDuration参数优先级高于scheduledUpdateTime,两者同时配置时,以updateDuration配置的刷新时间为准。 | 数值 | 可缺省,缺省值为“0”。 | - | formConfigAbility | 表示卡片的配置跳转链接,采用URI格式。 | 字符串 | 可缺省,缺省值为空。 | - | formVisibleNotify | 标识是否允许卡片使用卡片可见性通知。 | 字符串 | 可缺省,缺省值为空。 | - | jsComponentName | 表示JS卡片的Component名称。字符串最大长度为127字节。 | 字符串 | 否 | - | metaData | 表示卡片的自定义信息,包含customizeData数组标签。 | 对象 | 可缺省,缺省值为空。 | - | customizeData | 表示自定义的卡片信息。 | 对象数组 | 可缺省,缺省值为空。 | - - 配置示例如下: - - ```json - "abilities": [{ - "name": "FormAbility", - "description": "This is a FormAbility", - "formsEnabled": true, - "icon": "$media:icon", - "label": "$string:form_FormAbility_label", - "srcPath": "FormAbility", - "type": "service", - "srcLanguage": "ets", - "formsEnabled": true, - "forms": [{ - "colorMode": "auto", - "defaultDimension": "2*2", - "description": "This is a service widget.", - "formVisibleNotify": true, - "isDefault": true, - "jsComponentName": "widget", - "name": "widget", - "scheduledUpdateTime": "10:30", - "supportDimensions": ["2*2"], - "type": "JS", - "updateEnabled": true - }] - }] - ``` - - -### 卡片信息的持久化 - -因大部分卡片提供方都不是常驻服务,只有在需要使用时才会被拉起获取卡片信息,且卡片管理服务支持对卡片进行多实例管理,卡片ID对应实例ID,因此若卡片提供方支持对卡片数据进行配置,则需要对卡片的业务数据按照卡片ID进行持久化管理,以便在后续获取、更新以及拉起时能获取到正确的卡片业务数据。 - -```javascript - onCreate(want) { - console.log('FormAbility onCreate'); - - let formId = want.parameters["ohos.extra.param.key.form_identity"]; - let formName = want.parameters["ohos.extra.param.key.form_name"]; - let tempFlag = want.parameters["ohos.extra.param.key.form_temporary"]; - // 由开发人员自行实现,将创建的卡片信息持久化,以便在下次获取/更新该卡片实例时进行使用 - // storeFormInfo 接口未在此处实现,具体实现请参考:相关实例 章节中的 FormAbility FA模型卡片 实例 - storeFormInfo(formId, formName, tempFlag, want); - - let obj = { - "title": "titleOnCreate", - "detail": "detailOnCreate" - }; - let formData = formBindingData.createFormBindingData(obj); - return formData; - } -``` - -同时需要适配onDestroy卡片删除通知接口,在其中实现卡片实例数据的删除。 - -```javascript - onDestroy(formId) { - console.log('FormAbility onDestroy'); - - // 由开发人员自行实现,删除之前持久化的卡片实例数据 - // deleteFormInfo 接口未在此处实现,具体实现请参考:相关实例 章节中的 FormAbility FA模型卡片 实例 - deleteFormInfo(formId); - } -``` - -具体的持久化方法可以参考[通过用户首选项实现数据持久化](../database/data-persistence-by-preferences.md)。 - -需要注意的是,卡片使用方在请求卡片时传递给提供方应用的Want数据中存在临时标记字段,表示此次请求的卡片是否为临时卡片: - -- 常态卡片:卡片使用方会持久化的卡片; - -- 临时卡片:卡片使用方不会持久化的卡片; - -由于临时卡片的数据具有非持久化的特殊性,某些场景比如卡片服务框架死亡重启,此时临时卡片数据在卡片管理服务中已经删除,且对应的卡片ID不会通知到提供方,所以卡片提供方需要自己负责清理长时间未删除的临时卡片数据。同时对应的卡片使用方可能会将之前请求的临时卡片转换为常态卡片。如果转换成功,卡片提供方也需要对对应的临时卡片ID进行处理,把卡片提供方记录的临时卡片数据转换为常态卡片数据,防止提供方在清理长时间未删除的临时卡片时,把已经转换为常态卡片的临时卡片信息删除,导致卡片信息丢失。 - -### 卡片数据交互 - -当卡片应用需要更新数据时(如触发了定时更新或定点更新),卡片应用获取最新数据,并调用updateForm接口更新卡片。示例如下: - -```javascript -onUpdate(formId) { - // 若卡片支持定时更新/定点更新/卡片使用方主动请求更新功能,则提供方需要重写该方法以支持数据更新 - console.log('FormAbility onUpdate'); - let obj = { - "title": "titleOnUpdate", - "detail": "detailOnUpdate" - }; - let formData = formBindingData.createFormBindingData(obj); - // 调用updateForm接口去更新对应的卡片,仅更新入参中携带的数据信息,其他信息保持不变 - formProvider.updateForm(formId, formData).catch((error) => { - console.log('FormAbility updateForm, error:' + JSON.stringify(error)); - }); -} -``` - -### 开发卡片页面 - -开发者可以使用hml+css+json开发JS卡片页面: - -> **说明:** -> 当前仅支持JS扩展的类Web开发范式来实现卡片的UI页面。 - - - hml: - ```html -
- -
- -
-
- {{title}} - {{detail}} -
-
-
- ``` - - - css: - - ```css -.container { - flex-direction: column; - justify-content: center; - align-items: center; -} - -.bg-img { - flex-shrink: 0; - height: 100%; -} - -.container-inner { - flex-direction: column; - justify-content: flex-end; - align-items: flex-start; - height: 100%; - width: 100%; - padding: 12px; -} - -.title { - font-size: 19px; - font-weight: bold; - color: white; - text-overflow: ellipsis; - max-lines: 1; -} - -.detail_text { - font-size: 16px; - color: white; - opacity: 0.66; - text-overflow: ellipsis; - max-lines: 1; - margin-top: 6px; -} - ``` - - - json: - ```json - { - "data": { - "title": "TitleDefault", - "detail": "TextDefault" - }, - "actions": { - "routerEvent": { - "action": "router", - "abilityName": "com.example.entry.EntryAbility", - "params": { - "message": "add detail" - } - } - } - } - ``` - -最终可以得到如下卡片: - -![fa-form-example](figures/fa-form-example.png) - -### 开发卡片事件 - -卡片支持为组件设置action,包括router事件和message事件,其中router事件用于Ability跳转,message事件用于卡片开发人员自定义点击事件。关键步骤说明如下: - -1. 在hml中为组件设置onclick属性,其值对应到json文件的actions字段中。 -2. 若设置router事件,则 - - action属性值为"router"; - - abilityName为跳转目标的Ability名,如目前DevEco创建的FA模型的UIAbility默认名为com.example.entry.EntryAbility; - - params为跳转目标Ability的自定义参数,可以按需填写。其值可以在目标Ability启动时的want中的parameters里获取。如FA模型EntryAbility的onCreate生命周期里可以通过featureAbility.getWant()获取到want,然后在其parameters字段下获取到配置的参数; -3. 若设置message事件,则 - - action属性值为"message"; - - params为message事件的用户自定义参数,可以按需填写。其值可以在卡片生命周期函数onEvent中的message里获取; - -示例如下: - - - hml: - ```html -
- -
- -
-
- {{title}} - {{detail}} -
-
-
- ``` - - - json: - ```json - { - "data": { - "title": "TitleDefault", - "detail": "TextDefault" - }, - "actions": { - "routerEvent": { - "action": "router", - "abilityName": "com.example.entry.EntryAbility", - "params": { - "message": "add detail" - } - }, - "messageEvent": { - "action": "message", - "params": { - "message": "add detail" - } - } - } - } - ``` \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/fa-pageability.md b/zh-cn/application-dev/ability-deprecated/fa-pageability.md deleted file mode 100644 index 11738e71b0..0000000000 --- a/zh-cn/application-dev/ability-deprecated/fa-pageability.md +++ /dev/null @@ -1,223 +0,0 @@ -# PageAbility开发指导 - -## 概述 - -### 功能简介 - -PageAbility是具备ArkUI实现的Ability,是开发者具体可见并可以与之交互的Ability实例。开发者通过DevEco Studio创建Ability时,DevEco Studio会自动创建相关模板代码。 - -PageAbility相关能力通过单独的featureAbility实现,生命周期相关回调则通过`app.js/app.ets`中各个回调函数实现。 - -### PageAbility的生命周期 - -**PageAbility生命周期介绍**(Ability Lifecycle): - -PageAbility生命周期是PageAbility被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称。 - -PageAbility生命周期流转如下图所示: - -![PageAbility-Lifecycle](figures/page-ability-lifecycle.png) - - -**Ability生命周期状态说明:** - - - **UNINITIALIZED**:未初始状态,为临时状态,PageAbility被创建后会由UNINITIALIZED状态进入INITIAL状态。 - - - **INITIAL**:初始化状态,也表示停止状态,表示当前PageAbility未运行,PageAbility被启动后由INITIAL态进入INACTIVE状态。 - - - **INACTIVE**:失去焦点状态,表示当前窗口已显示但是无焦点状态。 - - - **ACTIVE**:前台激活状态,表示当前窗口已显示,并获取焦点。 - - - **BACKGROUND**:后台状态,表示当前PageAbility退到后台,PageAbility在被销毁后由BACKGROUND状态进入INITIAL状态,或者重新被激活后由BACKGROUND状态进入ACTIVE状态。 - -**PageAbility生命周期回调与生命周期状态的关系如下图所示:** - -![fa-pageAbility-lifecycle](figures/fa-pageAbility-lifecycle.png) - -PageAbility提供生命周期回调,开发者可以在`app.js/app.ets`中重写生命周期相关回调函数 。目前`app.js`环境中仅支持onCreate和onDestroy回调,`app.ets`环境支持全量生命周期回调。 - -### 启动模式 - -ability支持单实例和多实例两种启动模式。 - -在`config.json`中通过launchType配置项,可以配置具体的启动模式,其中: - -**表1** 启动模式介绍 - -| 启动模式 | 描述 |说明 | -| ----------- | ------- |---------------- | -| standard | 多实例 | 每次startAbility都会启动一个新的实例。 | -| singleton | 单实例 | 系统中只存在唯一一个实例,startAbility时,如果已存在,则复用系统中的唯一一个实例。 | - -缺省情况下是singleton模式。 - - -## 开发指导 - -### featureAbility接口说明 - -**表2** featureAbility接口介绍 - -| 接口名 | 描述 | -| --------------------------------------------------- | --------------- | -| void startAbility(parameter: StartAbilityParameter) | 启动Ability。 | -| Context getContext(): | 获取应用Context。 | -| void terminateSelf() | 结束Ability。 | -| bool hasWindowFocus() | 是否获取焦点。 | - - -### 启动本地PageAbility - -**导入模块** - -```js - import featureAbility from '@ohos.ability.featureAbility' -``` - -**示例** - -```javascript - import featureAbility from '@ohos.ability.featureAbility' - featureAbility.startAbility({ - want: { - action: "", - entities: [""], - type: "", - deviceId: "", - bundleName: "com.example.myapplication", - /* FA模型中abilityName由package + Ability name组成 */ - abilityName: "com.example.entry.secondAbility", - uri: "" - } - }); -``` - -### 启动远程PageAbility(当前仅对系统应用开放) - ->说明:由于DeviceManager的getTrustedDeviceListSync接口仅对系统应用开放,当前启动远程PageAbility仅支持系统应用。 - -**导入模块** - -``` - import featureAbility from '@ohos.ability.featureAbility' - import deviceManager from '@ohos.distributedHardware.deviceManager'; -``` - -**示例** -```ts - function onStartRemoteAbility() { - console.info('onStartRemoteAbility begin'); - let params; - let wantValue = { - bundleName: 'ohos.samples.etsDemo', - abilityName: 'ohos.samples.etsDemo.RemoteAbility', - deviceId: getRemoteDeviceId(), - parameters: params - }; - console.info('onStartRemoteAbility want=' + JSON.stringify(wantValue)); - featureAbility.startAbility({ - want: wantValue - }).then((data) => { - console.info('onStartRemoteAbility finished, ' + JSON.stringify(data)); - }); - console.info('onStartRemoteAbility end'); - } -``` - -从DeviceManager获取`deviceId`,具体示例代码如下: - -```ts - import deviceManager from '@ohos.distributedHardware.deviceManager'; - let dmClass; - function getRemoteDeviceId() { - if (typeof dmClass === 'object' && dmClass != null) { - let list = dmClass.getTrustedDeviceListSync(); - if (typeof (list) == 'undefined' || typeof (list.length) == 'undefined') { - console.log("EntryAbility onButtonClick getRemoteDeviceId err: list is null"); - return; - } - console.log("EntryAbility onButtonClick getRemoteDeviceId success:" + list[0].deviceId); - return list[0].deviceId; - } else { - console.log("EntryAbility onButtonClick getRemoteDeviceId err: dmClass is null"); - } - } -``` - -在跨设备场景下,需要向用户申请数据同步的权限。具体示例代码如下: - -```ts - import abilityAccessCtrl from "@ohos.abilityAccessCtrl"; - import bundle from '@ohos.bundle'; - async function RequestPermission() { - console.info('RequestPermission begin'); - let array: Array = ["ohos.permission.DISTRIBUTED_DATASYNC"]; - let bundleFlag = 0; - let tokenID = undefined; - let userID = 100; - let appInfo = await bundle.getApplicationInfo('ohos.samples.etsDemo', bundleFlag, userID); - tokenID = appInfo.accessTokenId; - let atManager = abilityAccessCtrl.createAtManager(); - let requestPermissions: Array = []; - for (let i = 0;i < array.length; i++) { - let result = await atManager.verifyAccessToken(tokenID, array[i]); - console.info("verifyAccessToken result:" + JSON.stringify(result)); - if (result != abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) { - requestPermissions.push(array[i]); - } - } - console.info("requestPermissions:" + JSON.stringify(requestPermissions)); - if (requestPermissions.length == 0 || requestPermissions == []) { - return; - } - let context = featureAbility.getContext(); - context.requestPermissionsFromUser(requestPermissions, 1, (data)=>{ - console.info("data:" + JSON.stringify(data)); - console.info("data requestCode:" + data.requestCode); - console.info("data permissions:" + data.permissions); - console.info("data authResults:" + data.authResults); - }); - console.info('RequestPermission end'); - } -``` - -### 生命周期接口说明 - -**表3** 生命周期回调函数介绍 - -| 接口名 | 描述 | -| ------------ | ------------------------------------------------------------ | -| onShow() | Ability由后台不可见状态切换到前台可见状态调用onShow方法,此时用户在屏幕可以看到该Ability。 | -| onHide() | Ability由前台切换到后台不可见状态时调用onHide方法,此时用户在屏幕看不到该Ability。 | -| onDestroy() | 应用退出,销毁Ability对象前调用onDestroy方法,开发者可以在该方法里做一些回收资源、清空缓存等应用退出前的准备工作。 | -| onCreate() | Ability第一次启动创建Ability时调用onCreate方法,开发者可以在该方法里做一些应用初始化工作。 | -| onInactive() | Ability失去焦点时调用onInactive方法,Ability在进入后台状态时会先失去焦点,再进入后台。 | -| onActive() | Ability切换到前台,并且已经获取焦点时调用onActive方法。 | - -**示例** - -开发者需要重写`app.js/app.ets`中相关生命周期回调函数,DevEco Studio模板默认生成`onCreate()`和`onDestroy()`方法,其他方法需要开发者自行实现。 - -```javascript -export default { - onCreate() { - console.info('Application onCreate') - }, - onDestroy() { - console.info('Application onDestroy') - }, - onShow(){ - console.info('Application onShow') - }, - onHide(){ - console.info('Application onHide') - }, - onInactive(){ - console.info('Application onInactive') - }, - onActive(){ - console.info('Application onActive') - }, -} -``` \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/fa-serviceability.md b/zh-cn/application-dev/ability-deprecated/fa-serviceability.md deleted file mode 100644 index 0c54ae469f..0000000000 --- a/zh-cn/application-dev/ability-deprecated/fa-serviceability.md +++ /dev/null @@ -1,338 +0,0 @@ -# ServiceAbility开发指导 - -## 场景介绍 -基于Service模板的Ability(以下简称“Service”)主要用于后台运行任务(如执行音乐播放、文件下载等),但不提供用户交互界面。Service可由其他应用或Ability启动。即使用户切换到其他应用,Service仍将在后台继续运行。 - -## 生命周期 - -**表1** Service中相关生命周期API功能介绍 -|接口名|描述| -|:------|:------| -|onStart?(): void|该方法在创建Service的时候调用,用于Service的初始化,在Service的整个生命周期只会调用一次。| -|onCommand?(want: Want, startId: number): void|在Service创建完成之后调用,该方法在客户端每次启动该Service时都会调用,开发者可以在该方法中做一些调用统计、初始化类的操作。| -|onConnect?(want: Want): rpc.RemoteObject|在Ability和Service连接时调用。| -|onDisconnect?(want: Want): void|在Ability与绑定的Service断开连接时调用。| -|onStop?(): void|在Service销毁时调用。开发者应通过实现此方法来清理资源,如关闭线程、注册的侦听器等。| - -onCommand()与onConnect()的区别在于: - - onCommand()只能被startAbility或startAbilityForResult触发,客户端每次启动Service均会触发该回调 - - onConnect()只能被connectAbility触发,客户端每次与Servcie建立新的连接时会触发该回调 - -## 开发步骤 - -### 创建注册Service - -1. 重写Service的生命周期方法,来添加其他Ability请求与Service Ability交互时的处理方法。 - - 创建Service的代码示例如下: - - ```ts - export default { - onStart() { - console.log('ServiceAbility onStart'); - }, - onCommand(want, startId) { - console.log('ServiceAbility onCommand'); - }, - onConnect(want) { - console.log('ServiceAbility OnConnect'); - // ServiceAbilityStub的实现在下文给出 - return new ServiceAbilityStub('test'); - }, - onDisconnect(want) { - console.log('ServiceAbility OnDisConnect'); - }, - onStop() { - console.log('ServiceAbility onStop'); - } - } - ``` - -2. 注册Service。 - - Service需要在应用配置文件config.json中进行注册,注册类型type需要设置为service。 - - ```json - { - "module": { - "abilities": [ - { - "name": ".ServiceAbility", - "type": "service", - "visible": true - ... - } - ] - ... - } - ... - } - ``` - - - -### 启动Service - -Ability为开发者提供了startAbility()方法来启动另外一个Ability。因为Service也是Ability的一种,开发者同样可以通过将Want传递给该方法来启动Service。 - -开发者可以通过构造包含bundleName与abilityName的Want对象来设置目标Service信息。参数的含义如下: - -- bundleName:表示对端应用的Bundle名称。 -- abilityName:表示待启动的Ability名称。 - -启动本地设备Service的代码示例如下: - -```ts -import featureAbility from '@ohos.ability.featureAbility' - -featureAbility.startAbility( - { - want: - { - bundleName: "com.jstest.service", - abilityName: "com.jstest.service.ServiceAbility" - } - } -).then((err) => { - console.log("startService success"); -}).catch (err => { - console.log("startService FAILED"); -}); -``` - -执行上述代码后,Ability将通过startAbility() 方法来启动Service。 -- 如果Service尚未运行,则系统会先初始化Service,然后回调onStart()来启动Service,再回调onCommand()方法。 -- 如果Service正在运行,则系统会直接回调Service的onCommand()方法。 - -启动远端设备Service的代码示例如下,详见[连接远程Service](fa-serviceability.md#连接远程service当前仅对系统应用开放): - -```ts -import featureAbility from '@ohos.ability.featureAbility' - -featureAbility.startAbility( - { - want: - { - deviceId: remoteDeviceId, // 远端设备Id - bundleName: "com.jstest.service", - abilityName: "com.jstest.service.ServiceAbility" - } - } -).then((err) => { - console.log("startService success"); -}).catch (err => { - console.log("startService FAILED"); -}); -``` - - -### 停止Service - - 常规情况下,Service可以将自己停止,或者被系统停止,具体场景如下: - - Service调用particleAbility.terminateSelf()方法将自己停止。 - - Service所在的应用进程退出,Service将随着进程被回收。 - - 若Service仅仅是通过connectAbility()方法被访问的(从未执行过onCommand()回调),那么当最后一个连接被断开后,系统会将Service停止。 - -### 连接本地Service - -如果Service需要与Page Ability或其他应用的Service Ability进行交互,则须创建用于连接的Connection。Service支持其他Ability通过connectAbility()方法与其进行连接。 - - -开发者可使用如下两种方式实现连接Service。 - -1. 使用IDL自动生成代码 - - 使用OpenHarmony IDL(OpenHarmony Interface Definition Language)来自动生成对应客户端服务端及IRemoteObject代码,具体示例代码和说明请参考: - - - [`OpenHarmony IDL`:TS开发步骤](../IDL/idl-guidelines.md#ts) - -2. 在对应文件编写代码 - - 在使用connectAbility()时,需要传入目标Service的Want与ConnectOptions的实例,其中ConnectOptions封装了三个回调,分别对应不同情况,开发者需自行实现: - - onConnect():用来处理连接Service成功的回调。 - - onDisconnect():用来处理Service断连或异常死亡的回调。 - - onFailed():用来处理连接Service失败的回调。 - - 创建连接本地Service回调实例的代码示例如下: - - ```ts - import prompt from '@system.prompt' - - var option = { - onConnect: function onConnectCallback(element, proxy) { - console.log(`onConnectLocalService onConnectDone`); - if (proxy === null) { - prompt.showToast({ - message: "Connect service failed" - }); - return; - } - // 得到Service的proxy对象后便可以与其进行通信 - let data = rpc.MessageParcel.create(); - let reply = rpc.MessageParcel.create(); - let option = new rpc.MessageOption(); - data.writeString("InuptString"); - proxy.sendRequest(0, data, reply, option); - prompt.showToast({ - message: "Connect service success" - }); - }, - onDisconnect: function onDisconnectCallback(element) { - console.log(`onConnectLocalService onDisconnectDone element:${element}`); - prompt.showToast({ - message: "Disconnect service success" - }); - }, - onFailed: function onFailedCallback(code) { - console.log(`onConnectLocalService onFailed errCode:${code}`); - prompt.showToast({ - message: "Connect local service onFailed" - }); - } - }; - ``` - - 连接本地Service的代码示例如下: - - ```ts - import featureAbility from '@ohos.ability.featureAbility' - - let want = { - bundleName: "com.jstest.service", - abilityName: "com.jstest.service.ServiceAbility" - }; - let connectId = featureAbility.connectAbility(want, option); - ``` - - 同时,Service侧也需要在onConnect()时返回IRemoteObject,从而定义与Service进行通信的接口。onConnect()需要返回一个IRemoteObject对象。OpenHarmony提供了IRemoteObject的默认实现,开发者可以通过继承rpc.RemoteObject来创建自定义的实现类,从而实现与Service的通信。具体使用方法可参考[ohos.rpc API文档](..\reference\apis\js-apis-rpc.md)。 - - Service侧把自身的实例返回给调用侧的代码示例如下: - - ```ts - import rpc from "@ohos.rpc" - - class ServiceAbilityStub extends rpc.RemoteObject { - constructor(des: any) { - if (typeof des === 'string') { - super(des); - } else { - console.log("Error, the input param is not string"); - return; - } - } - - onRemoteRequest(code: number, data: any, reply: any, option: any) { - console.log("onRemoteRequest called"); - // 可根据code执行不同的业务逻辑 - if (code === 1) { - // 将传入的字符串进行排序 - let string = data.readString(); - console.log(`Input string = ${string}`); - let result = Array.from(string).sort().join(''); - console.log(`Output result = ${result}`); - reply.writeString(result); - } else { - console.log(`Unknown request code`); - } - return true; - } - } - - export default { - onStart() { - console.log('ServiceAbility onStart'); - }, - onCommand(want, startId) { - console.log('ServiceAbility onCommand'); - }, - onConnect(want) { - console.log('ServiceAbility OnConnect'); - return new ServiceAbilityStub('ServiceAbilityRemoteObject'); - }, - onDisconnect(want) { - console.log('ServiceAbility OnDisConnect'); - }, - onStop() { - console.log('ServiceAbility onStop'); - } - } - ``` - -### 连接远程Service(当前仅对系统应用开放) - -连接远程Service,构造ConnectOptions的方法与连接本地Serivce相同,区别在于: - - 应用需要向用户申请数据同步权限 - - 目标Service的Want需要包含对端设备的deviceId - -> 说明: -> (1) 由于DeviceManager的getTrustedDeviceList等接口仅对系统应用开放,当前仅系统应用支持连接远程Service。 -> (2) API定义可见:[deviceManager模块](..\reference\apis\js-apis-device-manager.md) -> (3) 参考Demo可见:[分布式Demo](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SuperFeature/DistributedAppDev/DistributedRdb) - -在跨设备场景下,需要向用户申请数据同步的权限,首先在config.json里配置权限: - -```json -{ - ... - "module": { - ... - "reqPermissions": [{ - "name": "ohos.permission.DISTRIBUTED_DATASYNC" - }] - } -} -``` - -DISTRIBUTED_DATASYNC权限需要用户授予,在应用启动时需要向用户弹框请求授予权限,示例代码如下: - -```ts -import abilityAccessCtrl from "@ohos.abilityAccessCtrl" -import bundle from '@ohos.bundle' - -async function RequestPermission() { - console.info('RequestPermission begin'); - let array: Array = ["ohos.permission.DISTRIBUTED_DATASYNC"]; - let bundleFlag = 0; - let tokenID = undefined; - let userID = 100; - let appInfo = await bundle.getApplicationInfo('ohos.samples.etsDemo', bundleFlag, userID); - tokenID = appInfo.accessTokenId; - let atManager = abilityAccessCtrl.createAtManager(); - let requestPermissions: Array = []; - for (let i = 0;i < array.length; i++) { - let result = await atManager.verifyAccessToken(tokenID, array[i]); - console.info("verifyAccessToken result:" + JSON.stringify(result)); - if (result != abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) { - requestPermissions.push(array[i]); - } - } - console.info("requestPermissions:" + JSON.stringify(requestPermissions)); - if (requestPermissions.length == 0 || requestPermissions == []) { - return; - } - let context = featureAbility.getContext(); - context.requestPermissionsFromUser(requestPermissions, 1, (data)=>{ - console.info("data:" + JSON.stringify(data)); - }); - console.info('RequestPermission end'); -} -``` - -获取deviceId需要导入`@ohos.distributedHardware.deviceManager`模块,其中提供了getTrustedDeviceList等接口用于获取远端设备的deviceId。 - - 接口使用可参考[deviceManager模块](..\reference\apis\js-apis-device-manager.md) - - 具体实现可参考[分布式关系型数据库](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SuperFeature/DistributedAppDev/DistributedRdb) - -连接远程Service,只需要在want内定义deviceId即可,示例代码如下: - -```ts -import featureAbility from '@ohos.ability.featureAbility' - -let want = { - deviceId: remoteDeviceId, - bundleName: "com.jstest.service", - abilityName: "com.jstest.service.ServiceAbility" -}; -let connectId = featureAbility.connectAbility(want, option); -``` - -其余实现均与本地连接Service相同,参考[连接本地Service](fa-serviceability.md#连接本地service)的示例代码即可。 diff --git a/zh-cn/application-dev/ability-deprecated/figures/AbilityComponentInstanceMission.png b/zh-cn/application-dev/ability-deprecated/figures/AbilityComponentInstanceMission.png deleted file mode 100644 index 2d2c2f3d339ee6107ffbd65fa2e1a73fd7774304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81278 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 diff --git a/zh-cn/application-dev/ability-deprecated/figures/ExtensionAbility.png b/zh-cn/application-dev/ability-deprecated/figures/ExtensionAbility.png deleted file mode 100644 index 3287f23c7587e3980ca32efe275d5b672e6b9903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21335 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 diff --git a/zh-cn/application-dev/ability-deprecated/figures/aa-dump-a.PNG b/zh-cn/application-dev/ability-deprecated/figures/aa-dump-a.PNG deleted file mode 100644 index ae8d41f65f68d73895be5bbbb539c0d220b2a9a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41040 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 diff --git a/zh-cn/application-dev/ability-deprecated/figures/aa-dump-i.PNG b/zh-cn/application-dev/ability-deprecated/figures/aa-dump-i.PNG deleted file mode 100644 index 12998c5ba3e7d667d1147b6e825f8d110d5c5c5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6730 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 diff --git a/zh-cn/application-dev/ability-deprecated/figures/aa-dump-l.PNG b/zh-cn/application-dev/ability-deprecated/figures/aa-dump-l.PNG deleted file mode 100644 index a6797eef284990e3fa25e71562ac8afbddf0821d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5357 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 diff --git a/zh-cn/application-dev/ability-deprecated/figures/fa-dataability-uri.png b/zh-cn/application-dev/ability-deprecated/figures/fa-dataability-uri.png deleted file mode 100644 index 140098297414775dfd478500c7304f8856a14dd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8862 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 diff --git a/zh-cn/application-dev/ability-deprecated/figures/fa-form-example.png b/zh-cn/application-dev/ability-deprecated/figures/fa-form-example.png deleted file mode 100644 index 795e96171e6d890e72a09382906302dd0fa45fab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7702 zcmb`Mby!r9$K0iLR3JyhZt&9Kthym>5wkz8gl3^N5BFE29Ojaq#Nm$k{Y@P z?)cpIeV^a^-~HqMarQZToxRuk?)9u^pZLURX{wQvFp=Qk;E+FsDeK_i;M!rYQ2-)r zTkIH>fIZ=Q=%_()Du!78Vmk!3iW-VII8_MJ8w)~gpZG1zzyk+|qVwN@oBo)B83%{; z>r-XLm%gTZ`NZ``dJR!`<9-D%-s7hUr_n#s;Y;(gQwd0336l&V(JV4nrlo7Kq&s!j zqg7FEBd!P$X{S?RBqRkB7SkFg3D*$L;zibZ7VO;F>@A>}Q#{<=g?G7@u4S*KdNr$2 zD37D^;J_WT9oN}yeX5&-jqcsj?B{ziZy?V0x+v!@xz0N8J*&xyhyGDOsOWv8@A~7v z^d_A#U&ZZqsOKD)4Q1TgIb^Oc0+A1D5Z=TmCL#>egc1Yaqo)$823w+40wRIX8r99; zan6>A2Jg|{rs*`|56Bj0-6VzKg72M+0qd#aAG=pZ*+3D%uFCVqzh^tBUo#h@gQEpE zH4jJFuWnn;j=Nmz$``Iw0wRD=&xlg;$GayMsNEb7%DA(&QoT^N;9F0XK`20*2VQDx zmS<*lOmcGYVz9Cc!=rMJost%A@z`b>`P{?Nc_@uE1_gw^B&wkw9PDByU@}r#<%@oCYb0%Q6;e0LUP^-^KC#&e8nUEP z+1UX4W`R)nb~ycq-Xto!Qdd$?1ngcFk1at?tr#|Rakze}j0Deyn>52@|`_gf8d=bg!|Iv|oxS}fb^G^rHjI&b56#GlK58@KwpYe~as zK>VuIESr~zxCU4ra_fz@oNW4PFl?t(+{6_jO)Ou^FVK_A>9$ze>s0RQD4tV33p^v% z=EZ6~3IRx*3-2tAt2BB5*H~~pat}y3V@=Ue%q$b?%?{L)U)cy&6xoAE#kPi&E&Ha{ zFEB8p?XJdAZHiiST6u>0&89~>%EU$k09nFwqECh9J_lEdKYKVdGJ}}<9zC-aYJ-2{ zDnMxjzmL^MwIFNAwy%9m@x#J4jixhr0taP-n0USbfL|%%@kc0G$4N?@SLB&fmm>~f ztc6BQ{O+JodUDEDczGz=*xruJ`{0~SKk}UZuNoddQ^8NRpA?5Z4TeF2_{nh5&+njI z$qI2%L`#gJ0^c|1=^;&7-D+B9U6^B>hEny zl}1a@VwxVu((}WLR65#s+iFzGFwH-)6S1o8V3oA~UZkI0?89p1>?9*_{+Zx9*WQTz zVnCQ}vmHnQD~38kusqp;lAJac@b5lwt7e8-h|H7(_v$r}oS0tCuv((pVl@`{FY;5v zF2*sYnYg|W!Gxnp=5BywZ>|w2AX(@Cwn#p6ko6<;j}y;f9(%9o-qQ$C+iAP&zpyk$ z&6p~6EWOt=?h|2uIi>j(sAK*LfYq52CaLR+c-U{vsWlsO71VKE{JfaTR#`g1X`W>P zNRA*dOe33oWwUZ={Lo3}>=f3RdDl?_D;|F|!pt=ShT`!*!)ttgqP~`gun-sv*RAHo z&?AbboZ|P3XYS2Eg*=8r2-ti=&)Q1+SeGey!@KLqYSq+L*r6QP$A| zZ2F=Vovu9}J9*W+m_WG}<_gU;?z0;=^*Xh<+FRC2Fxl6dDz9UmQ7Bo@7a+gBq?q|^ zcKSMXZh1AHqm+;-VVwaV@Bs6Qd&x=+jF%?tE!EF$QgBOq8UHQgr8sOXDPaoC_|u?kIje zro6djbnDwl8(^#i)}cyhhImtDhUK1RME2k1@Gn_GYJCgG-(ClWxQyGNY%{aVr`Bkb z@ri4AV@*wz3{5_lx~38fBU=rE8U8v{dFIcM3XG*6go^l0@0jFeMtRDE{#E#16x>H) z*xW6R8tFEMJ}CK$i)`>Lk2{GyqF`AKIF?i1{i-9Kt6hxsYbOCQ$r3@~_AjdmCci0G z8w>m@noJmH6{$7`-vl#k>rk?#_-Lg4cv}Lt9Tmr>Q2<_01$xE`d9X6w0ZAzZeIimG z+A)?jGj$d}7ei$ltIL2Vls5p!Ve2--eB`63S7kJjBi7>==Tu0+ER2LV+#r)=P2dS) zH%e5U>piON7br45@jMrC9(?phuQr%S%yEaC(t2`59pX9*sekGp{lyHh<13 z2AVamFO2woUHk0G%T}F~K#vj#3~QbSBk~Rlzmk7l)SgR%nS%M5aIqPrdzEc9$zlJ- zJ|xPrKF(9>xH1w(ip|ucwOe|fzAq^!hsU6WC;SOfz;&#Uqp^mEFINP*V!cX;lG*ma zgHj~g->^bV5B#en#z?@B>Oy71i6_){$uv51Jpq~`YcP@1oESc8du;@En5Mog`<>LD zwGNI+QTB>{;_uUlPdwCiheSQ|=4YnmZRQ{^asxa)xIZ@3B2KD~v<{$-iDT>o(S+*6 z6Xo}?qAu?wvw@m@Q31^f`iqgK2G~anodjSBcF(B`jgHe8K}8W(e3cNi_I~MD6%2Y7 zLtyCiL2Z*`r1n1K0SJ;rMjJ~C(C)`7Awq5jE$no#Eu+lGD_x?;(8~Orq4bQ6^+{EE zwk^e9MoG=-t!F(NBJIeDYkIWevYDL~tvaYn)U7{fMyZL?V^?_SU;u12eGio!^)zhu zVj^`PG?3FHkH${$3=fyn()>cL*Z7sNeZaOev!ae;>^}7isNv?rRN@u!95 zy>>mc`4UG|;1^NAvnBw%HCm7ZUe4cDM}3vC=sgDu-K{+iGr38^uC z(sTlua674jzgabg@GS$^-1t<(7p}A=YX3%(0aQ8vLZ93Ur!jYC=It&JMUrK| z6Jzyb8$IDbd?^_P#}G6sD)Ip%{rl&636wo-5jOn>$=rX$0?^j4UCBrc*dvet>oL2W zMi@BMMGF|FdQfmob=^8mSwfH-W@Tj`e^3rdz=3LtYlwaQ80YyuIFg8f%A#fSSwNLN zo>Az8%w&qdZzrYBf>2mz!}Ko%iFiCIb`RSkilE!kU;Z%)(&1iDh>uNl5RDVDuoV<4 z~&Z4LKaqC z1g?N=Y{486Yo{RxXLzj$aQilB54b^vna!Lse$*q(SXP!BRoq+Zyuh?T??r-|J$QZH zuneEIKBmX+n>pq4z&#*&D0oZy!G0Y>t}4%%A`j~bvjJU)GauK87lpjjq;Jx>@pWgA zXm~VIXymoYW>SN8k0k_*vA%J;ldIh}`NI)fVRirV0op)*;|es+2|m?Ka8deajM{)P z(9}}Oi9QUjmfmI$?D8U!w`{i6E;RSD``vVfgc5^{bY7R zQ=ycVH1;jvf-3HcP(G*jqu$%Ppk#$9#^P}ynu_@yWw>YCfa)aW=*xpEWjqtxWr&EF z!KjB-+tdJ=HXr|b;}kpfmNb|Ka*aqQCP%t)vMN5yr~hrQZkP5jY)(bn z(*zV+!P%2g{>#A;%xdnHbSbwDvb$uT)inlTwxdBKOvzO=L(c%7BNNX-{j;)wBR zcJf{iw~>G_LOu^HL(uC}8t{*1B1TnmjhqfSNCN+DHk;r}g?dZ}qfKEw_k1EK)<~rM zP3d^Sl0@##ov3pQ#WT=I_n!UPhd;-eKC?Aly8-99`N07-A7H%V{tGgLi7c#pJzTOK08Ri!;YI-;ea>%IGXJMAe zUHHy1ALLmz)4aao&Fy=fXfxGl_iOd$N*X2aM|(FnWAmbg>1_1vyL~MbX(He}Ze0TH zLS-v=3^^VM!qm^G-wi16blFlK7IfyeW86olA~P*3p$g|ch)Ly=*^f?UD{~cMGB>t1 z(Kn*-*CiK2b4E6=A+RTUS$`Kfze?7cOSABnCn4U2OF_R?j+;!>T^2lnXm}fVymcVy z$kDkv5VAbXM*JPsuo%hz8jZ`m5&H+aAfxk#*NQgoxRc7}PLeYZU!-&OT;8Hgf-i_1 zc#(x>xAN|tcq?$xuRPuywR8BpcQlnGf(R(ISt}Zn$I!iId^wN4PXp1OAQPRIxw=!5 zrRQ=$cn5o-o8EKJ5`z0vgXroChvU6Bil(P<@v2%$8Rl=}f7Ic7vxo`?B!`X2nn`uuBK6#DA2{BSFdU6N4Ip+lk0rKq^T{0clUEx8# z{!Ntbhh#o7otgW>GU!S3s+*&#N_1PkArn%jfE?_XD*-D!X+N9&M+RLQlR!`VT1N7N>J_!E8yN+!qZ98tRFGgym)>(hv@ zWH+F^hPq7IMw=tz)qBbT0sai~3=hz(3vb!p2{k5%C^m3?r3vRdp^aIy8dV*!+~Lf9 z_t&d`sy2V7YJhXbxG;6>`kViUYP2B3l#81<3w`)gb1 zXC5HW%;$MT=wwe@eUpnneT!pvQx7Q3pg)$5aHt{$bEH|@#NWD1!)#@?x8Gh<-jVz` zY|*|I8*LwcL89%G@=e2~iWt~icq20J@}xC(mu@*LIw5vn`Q72$;GrhyD`Fbk6sJU{ zWT#3Y%c?c+8>yMZTX~dQX7*l?y&bLQ%*QVI2i*ZjVxYk%e{CPku&`#@Nio~xgRVke zV?vjr%c$$lm(0%&b36802PucCYKfOH<~nHPH5fz7J)+K?5NZ9zrz`tFaZ;gLCNB=V zr%_G_!Ok|%?>UA$h0kevfMn)&=Ugcf_~B;inz+KE1(Mj`R=NX0ZtlQ-d$p);oV!eT z&3$0|bs^<*~*#M z-Ec3mTV*fo_s=`n_s+XSn1l+kXxLjbE=@S4<;fccIpnWN-ZL+3=fHXdsb*DEK~^#`nw8~W?j(L*}@slRs316=3YU1k+29@QRxnkpXr2C z{Is#HpYGO{)J0pl=I?YWvoO67mVtfW;lHaE;Ak}ySKHG%dF^$T0E)u{S&sqOxc@pj zlV{N#OM@+KxP>1^ia{!QUbzAcK*gDXd_psL@cQhZa7nPV=L(gG&T5aR9j2#I<|S?6dX82I7!&tf>xpp96^MC@^F@9D-a{cMS;F$Ge#5+Fv!VF z;oN1@cBJ1*QO(xhOOC)y$vMg>;Z-C@CqNOfLffS_tO#6U40{9U7S@}O~ zON#L@AO3v*=B{HuG`qAL-L2{q0Yv`#>`ySLQ`9T0v9|&@8K{sFN(*uz?^CHNe%PO8 zdajA;H|aERNUi0Q#@o^LU|}Lmytb0R{YdfU2CB;15Cw&w=y-*e3ZF)Z6Ns~?`C2A~ zYLxTcw&R@@LbxXQ-o3Tpm6UP)JhLLOU*^;N{BbR*QTSBgIxni@MsoP_@b<{_(;JwT z;2u1~E90@ETE%-HxMiZ|-XQp-j4=P(BS~-{6jO$exs;I&3zAIx(zq6ca=nA_DVvpX zdu%A93QPunc)3cl?MRr(b?h>a4>o$b$b4ad!s~ebtGF5`T+g>W&4;xr(;I!+XP)p$ z-i<5g%M+yZjq{PUT5IU57j|tL2pp$;9!;fww=r31%CGfs{Ui|bh}CBDcWw${|6oNS z9sS-t2ht#?V1}i+4lCc0KRy7xr^{pvqnwcTeD6%PhW_>+Trc^4vME^G3Q%+_RZ_XK z#WDPBJ!M4Y-qE%6NZEbV!rOi=&^G}cD7DS3oQ7y6#u>&;gI+#bK~;?e4Xl|ACNk1I z%G8YrX$*%ENxvj8menXj#eWF+Co3&Yt9!Vl;27OIP_|)eC5(LKjoyv>E~HdxVi1FjGm=a z`W5E`&2|}NoxZfZ4JJC|2{7K(&y}>HWB^9kUxk_D&I@+$?wk{7t1TPkX7IX{-*LPD6N~%4*mELX zK(h4!mJVQLem}!GSgc=1L@4~{DyU)kqIpRn*pwQnzqrHxBnz_~sztGFj>xgv64O$3 zEI~g>Ltly&_3*W`dm!V4RRfvNaArNekdcO)sudq4fmzZ!l+p78*-R zYPEsnb5|7D|JkJrcrC9{GdK*q4hP!r#G@$FGbRXr#B5_bLh8P=?z!S*n}u0kK4y<1wepv@ zKdzKfj!X7uwY?U>n|RMrm~jr*YZVw$ zkL>^(j0F|cA}(QIO929~6Cc2|FwO}fJM~akkNJLO{|`CqFxkJ!qT<7T(OC&6!yzq- z89n?jA{~tYtQc&*^*U=Cbg@ikw58p*uc_N}3Kh8g!N;feg|b(bhG2E!Oj)L(IMGx= zLbYIs;#WBXOUeN9+IWEJrTP7V4jsPS_I5{Z<$Nl>Z+rfF)QO^&8 z%Lk+&7BQj}ccOkCLEI92q&w5h) z_LkH;Zti%|I^7o1VMn$ADHa64=Z@;9?t*PJhq^xCqOus}b;z5-M-_oclPSYJDxj(# z4VtCF)cVLVGm$4MmEN-?g0te=k$qzQi%!s5+0#7r0Jl&WMST)Ii$)i6xUwS!=YPivf`c?l}NFyu69asYKL0y&FeIWdQ>-023jYw1Gdu~U5ZEO;*!9VhkQSWt9NV~s# zwZMY15J-eWofrk%)O-r<0_2x^GR)nH{eBGK5gcX4fc^3+WbNIKGqU*&85hI(BK|;h z0#ivTyHz55n}MN35os@_Y|g0C5y#|@qu%X(WurjTjI)KR-bkrFVHkE3_>{-KDc-Gu zj*SirfjZ)0;tQE?&wb?|j4j$JY+Ti1W;j>G0Fd@(bYc*Bv!c}Ww=PFVXgFb&!e&#H zRu8szVeCp%!?mRk85UbkD+bk6oBkoE(1-cxD$NI)_h}dCu%Li`WTUiPGjo`)Zm^~0 z?lJZWx9w@#GA(W*%(tfaVmDdP8B45Qrt7DQ;00p&p7lNe3&`aDF);tW2<mi2xahSmFI#{lkO7p^-WGBaHx;Wl`V=+>i&)9~~0pk>|jV zWK2A~ z0W|?#g$14Mig)q|a`FX9@c-&hV+Ex^UwunYJ!vgREl&>@V^3?Xzq$K4fhPRPS`e!s zsEI!MfX)M7L9CLXrnDeR?r**dmI1cTO2J4h4k@h}Pln;`tXZ58Bk;RGKii(q#H zStl2ppfG~7f5gz(jT?2~%9Lm_x7N=x|48??odIbfdb*%gitaR zt0ughT32RXyH-jf#FJ?1Y<*-jft@<21msC6L6L$+DL2= zD9sb6Y36N?_tde{wJ`D23zknPmY1fFrL2EwfEyvg)L9EZ#PDfS|?P&-`8p=8x<835;^im=ah%gW7urNdS5E~sUoO75JXaXu2 zC9h>m2#^m5veb`ovJJ2X7Zrjq7Pe@-v~h%~iJz-1!Pp5*XiIa2KsReEVqk==v3C$r z2CeAnDr1YYQosj?$XOT%dwVH*=^0r^;PnXzU3XpEFk>s6d$1wO&q^C*p^dS`I{61+ z+)RBGK~?l{MlL98b7P#GHc}TagTnaY!YmNZvRDO8UD*&5REV2fM2LSNsEU%jPLN3u z5fOsdk_}f1$LUI=%=HN}w!ZpkysnGCGs0IPI3Q5bTuvbn7&|R1w?J)anLxC(ja7gW z!ZHx)ZY*nr)bw`=ceV5}M4Mqf{rvHsdZuo=TBgCqUcOipZBQLI6PIugD;rHuU81?6 z8$Q@Z+6Cneax=n*o1jgk3BG7ot6*ba9UC;r+rpRV8WKPRjZ;Kpbv5PmbS^}Fx1~RSjITq$i&MNWa??6i15%Sps>15C@m!& zqKA*ayM?Klv9E!Pu9L2*uOiac2Z`~pmGRVeHP#{M$||~PhFIzAn_F6ico9vN5dLT< zQ@3DGZ5bq13#sHr3@~w#3zs7z&1{18l>CV12rEURg_}7Zj}OC#7$}7qDFgu$8@(gmw8=WnH>dBB_0v`ikwZIM%4&uME1FvCn;N)zfMkeJS>Q}$ zw9Es|oTa60q^*pQHgXZVreO#(XMHnM93nhW$K5Lc)YsRH=;RmV@FRoYwL$H zH4So+bs6m$jD_HtE*#v3&$VB){6D&3H zC}|=(oan58H$r(4Ln9&#J;Os4bV8MMkJ=hxZlIv+V`y!tV;zjs0mXP($QyZr8K@Oz zsS}6~lyiyD3)I)r2}c~g7Hzb&p_7c0JKiHO&`nxb);$7kMKHHAH^R7j2k4tw>YDgi znh=a|{;nn{f{nF|vy7Z^AU4$8Gspzz8IF<P^Z^b~>mL{T$De}pf8iHd?7>|Ol!Ahf zLKmZHPH^~9$Z(T&@cG=hpFNC)HSWAt3YGgYLN%oe{PN8#F>;k3Ylr~MHLEj0tMCl< zYf2|~KAFoRiqVs0I?$6}MVu{JR;MP}xJjuTiMkiBXPLm?jvBv1xpC4e6(y7+j>MuP*mU5j28pGBKrv(^3M#$~ z0u|J0vXO!UT+$%TALFB-N))Dm3B9BTuq>7WLst8bi8A%RWnb{)EO_hM126TvTa-K{ zX7sH!MES*!qD#vo@F8k=CBY6C_Y7KAUf!TsXfyP@f{JjxVZT6 zJa;^`N=jcRiy)`p6-eqyn5Y|F-1in8S*8S!o&vmHJ&wtcnqAUvp791h%22~3rI7l~ zmv6T;uXt|G_lL>Lynblg7$)I6*1!fg2;kNDcnn%rRaGTes(do}*sG)oerG~T3L^eB zI;&fo0xr(Gq-RG9ucQvOlMSQhYZ<;;d4~>75}asxtt&_Y8$ClL_bvY_4b21HoTtHM zdlKX6c@Za32Tt3j);5ZN7lf^RHI$Q+Yhz*zz@X7rE@f7&)7dk_PeP&GRNy78sjW^V z@P4Qta#%|8?#$pnZhZ0W`+SA!F=-ZIqdVASc9XfDLRz?Z54U!#h7GN`EotBG`>(Yr z{KAL3#|2w$MivJv77~Sv0^DR=+D|Ty)ZG^o<}a^x>G+Tyy(y5x+wDGF8qIYivS@gQVEUm0Q{&+gR9KC?a zu);lHyYW4i@|fpLS5{p0={tUrC*#{Sbtj%-SYjc~Cu1_?NH&Vc&+V>>D~nUkv0Dbu}eU0yiY zI(JEgy>zDgJLlJzW3s!ye|mVqud4QTFv;#KiIyeu_PIk!4K3@}jOqGUVmabOu$>C~ zUte6>n7-Y!LW_SelBaBUQUJyOLQp?@I=)x=LjME-Wrlp2DFd7cQoI|lt?y9zxxVyFer0()HRQK8;ndb~A*WU3Vf43&?LQ1&!2{$`|pVZgksB3Y= z_YCc7_N)nqstOco2A;a~CXWJhYH5}2 z;dzWTD~yqXa&qN$D=*>cGXV_}`w0%ikHD-9bbNSooe#xw`?4}8I7LdHwH2d=d9@|B z_#9akt`VuxJkEGZQ66#KtC4 z`#qn@ew}M@?>R8L$lzH6mI|`+Rlb^l3DjtFj5_AjWqu<=$RG2G3Hh`-(TaaVhSB2d z58ku3I>SffQ~C}Gx3BWknp;@d7Z}}l{N~Kpnt@2AeU@2&mqRot=VoU!!)#l3RdhLD9QD8Dj2g!*j8`;$wAo7}6c-0qTb zzMyJVwY6*5Dmcc|?-ouLP3y{mvyPAW{p1eij|2Vt{)~Imoqnw^cX@gJ&abWh9`V%3 z3bC5_cPGSg61Lc$vaZ3`PQCkeEuq0&*?!4YW=o>ZclBtW z;D>8&QeZp-1NxD`BVPob;$lGnDks=)?st5ASVyU;_;3XpD-C1z zDxtfTS!6XmCG!rHIkuB3r1ODb=@b*MT6ws)eepq?e%d$;>a_11&vhkMp6cLq*q{narkL`zRF7u&UsV*bLLH&H+UB}wKU$+eYWWR=>vr$A8MDX@!=?`u#Zqnb(-WFszSybYDyN`Uv5`* zJ8Ae)ESJtMQd6<JU z$*UjH31#lP=C)rSi)#~pb<#h;w}~!(deM}A(vRpOd$82pq$lg%D=jn%Es-wKz#0fa zJz$Rrl3Zbu@5>8wgp0A^@9rPp3SJmGttnjS25f7)t~f9cW|S%dB;Z1z|{{1M7_RlDu*il zwDxM+lT?m+rD6Lrf+4EHUwu2Tz-D(aahzi^%A@1+^C=#iwL4-HOrJ+RKgdl5g=TgC zV|O3*&jmmw}F5vQ#slANAUSUx;`tE}}x_0$zt_vnplZSn2*D&c6-r!VE6 zI+=fp*a*~=K{+@vK8l*%sqdYhrG9~#SMWdAtnNIGT~4Y|<~>&xvoJ6Ag{ar8gp#u1 zxbduqfF}KgJ)mz+BIe7b{fpP~1k4j!+T_iXE!+cr)z7^Z8(DOw@qazRU(@tR!awnv zRmmWht=eMBnQCaPpAR*LF)7NT?mCB}nSVOW_l@Q~q-|}HM=g4M3D$_Rv966GMPH)a z2~;LZ-L^|>c&Jq*_C^gQ<}Zj8?V;|HXi=<7av8e@YnS#a3myRz#7*1b6FrLL)|Q&w zmIXY=Q0MUqg+C5NPZ7-0WyYfw#gWqoGnhpOog4>YU^rRs#t!aP66UKIFlG57U3J&N z40f{)PQ48IktSt(Kam1cMti5EO@kCqLo+Co4DMQ<4;i9?4;Zq}*ysYsCR2He>+>1Q z$3_YuUj>u8F0>X%f;)`{Rf?z4GOOo98S4=j6X#j74@$C_wrEn9#_*$BbArx8*}@UE(68%g~B;MEaDw= z*Z0myj88SO-i?PTwUSLw7rvXT7Q7p*LDEe`j?z+5LdYkF!HV*Nd$A?QH&!vmILJeY z02d`y1TcdUilwZ;vz`LJ*Mx``0Q413fQ^VsDcRLNO2GFa!DOIx!>&p2pO{^~H_BDZ9u2+9>UA!a@fwfonmbUZV zD%7}E*|!TE{lM3|I6lam8?la-H%Z_;#iJPeP*X#NvbYif8{xy0y-+F9fRd#s<-`p1 zj-G$oTRID#|HrS_hYPYosMdt|9<`ixy8?A;+7tJ3qyc^%%PDDgsDI}pqnpf+ZP@(} zg(6sm3^dcV8%lPENfxt7!#I1+u!Al`=|vRcHDYMj`OW66K!hVPN=$-O*x$z_{2L&D+hv>4R(i zW>SAb5*C~xoo%L{tGd$txbV=<*CS^Ys6teMg%svM=M_O-j!RriaF=+`^C ze3>UoRc1eCE6Df%KG=@AudnT>2|&R)B^vRM3l<7t)^`LQ5tA%@Eo92ugkahlNMUB( zn?TP6kA(Dwrx{RRSV_V2`j>l>FGiYj^DHY%{l@h7;I!nvFVU%aaT;%_cjdl&36?r! zmL6OsS)YTgLm&SOkqkX?^#6jn(#yGcSe4|fd0@AFFd-nd$@=A^@x#*g#+4vhrD(%b zD)H-^UMTSga&VrauQ|me}x5jryJ>}23nsfqxW|RfSPyU#EbGnr!yX#@K zwN|J2;BI#_?|DL>**DZPhu;*KkppIl7O;jpEohhN%S4$lKgHS~2;hfuN|x;HTX5Fk zxb>gx(j51-w2I75%A99_x1hGn=V<5$?{mKpS%Zhj3HE zxTN2$j;`1Ldj8&c-}uUbhzbJ+0@E64PLXOHE3buX^vCLvYcegSQ1EH_PO+B`noc{N z6>k<-N+q35wCr(f-K%c`SH2VSr+wA!PBic6MlWJj(g-$he*0+p6!)NAs;iBMpd1K7k?jK zdRVl_RhwSZ@-$(7_`Ei`B=G7Llag+ay4QEFQd_@GsX!Eq9w-Av%4@hj1`rM~Zg3Lh$MQs; z?TLS_T=)UwI)tpSeFS-5&gpeKS;H*&^xY6P_MD&^YvvrCTodDd$9H86UNAP`-$fsZ z4AD_VoeqmyOL!@h%X;@?+Dh-fQuD7IAMAar2|^R z8#~^X)Y2LPd@U3i0T9U9s~V=-22dx{2*p3BMT11iHxi&@ddwI7y)S;A_UzW7hSsU5 z@fJ1>KKUcgm?Ub4y}>mfFc1)C3i)&QW+qQs*kuh009z<@>cBD+Ki&NqKF#?;KzlfJb=y6>sG5t>xeG@-@E_M%@ybWrr5&~Q%5be1Q6S& ztE>!3Ng7|U!=FBBO|_@qRtlc&>nlO4q&&bWHHQ5tm3C?GJH~V#x(GPldVo1$LYncyVdF)b}bR8Qwz4w|boNGe(5;B>G_YGCz-E0N+EK zy7=9#r8yoe9n!{J?|mk)WVA$ zwEHbr=@(LDdqhUB^0$c@Q&N5P7xYOj5EZbCGF6!muBQA=%#_;ms=jR`ba&BFjVL{VR zY85T|vj#+FF7~$r?)j2K`UuhO2Gr@)qN0KcwccCEZRV0^{T=DND~!SVMC>^fziCy@ z`S0vOM?CQ7L93^bw)(1PlXS)-zT+LHxxC6WRr@NuQq&^UR}{2QYc(UaYpzzbTyuME#oGClC)X5-yH> zbm7i3>7j=gwEbW12&wL`wr441`C`h&jGhF*;d7&yZ?^X@c^{7m1hb ztuz-eE-fuIZS(|loG^VL<-d^Q5Rs_J(zwy1GG?GtFehigb{U7A7j&1a+hnn=-D%+q zCPlAZn`7Kj4xZ}~tj3d3LmAz%5dG&Y0Y0U`>l6876JoT_gl398o=R6QdgA+eHpveV zq>p_@WVTfUj};Ln6GH$;+&5_DXt>g}!8isO>dh;>`?2g2w$qYAnKIgn7hh3qyL+tJ zhxB8S&Tk--+l0fkZky*pg0aqUXC%;`Ug0Fxss;D1?kKm}9-*Q`LMJK}MX^DaaS6 zx;hKlxmSd6qB@x5Xbz}D9v&p9@AIo}e+l-xC*lyZ_j%m&`*3Z@;m(|yp2&4IQ{&C`$eT{QM(v8ia#iur&p=nkQB6n)w)@EiSr?YrUv^2 z7!RnJ-H*kd+sk7EU%nWK^At&K<}b12umuNpa0jQTgm<)heMNA)ru9h)OdkZDU+WFN zeEz%|=#DWZ&FD2b!YM~_fz45&*10m9{4#Z>t20g>!zlsdFQbSX#aCN4r*9a~O3ZhL z(s4P27O}!l>M?c*7EvT;$SP;Q125jlz9A$~VJRB4=U#Qp!4i?>XLLpLuC9_BYD z_;qJXlwdpKcHa9(PjyXrsPAzW2DH%neFApqUDJ#B#nqf8(+d}t+;51(t5u^4e!Mu` zU8?dNkNF)HZp<%buv)v$B3cd^96yL}7x#PaLu@V`o!Dm&+5ft|R1=i{=AJ(pvG!Df zf?6=+ttL#=>>gPzN(fzTHN~cdN1-Ux7cc7;n57%=x$5x`Bj`jVTOqL4c z;0$>O3z|5=$Q_{ITz9h>)UcsqG_rO3`-p6~FMkXEo-^<@a7 z*s1B`Wpy0HC-}vCN7kt5RvM?CqwV3-5v!LOnEHt`H;bVYJ}YE_G*4mF*ApU4-t-cs ztRNgB+wJVK0kWl6^Ah$*jYbDQZ{-&lAna+9xSWJ4MS37gE))Fxz0zy!><(qtwa&*6 z4!4_ydE|dDS~Yh)qzTsgmFgea`kq_r`84z7pgsG13a2c&PA1#s0et`0RQi~&%KoHk zqDNt9whCr$XeD}ErD3tW;)|0clTrc`ZxKfcYVY8UJoDC$eJHv6I8794X28riw0dQW zI>nX-V?CP>0-~}3$&wwxq=GD@oZRz@JCPgfTJ8=KhhMi}YTpnxzQ_CfSI2Te{!M{t z3AqZZ>M&W2o)6^}7537rFV&*6L{UAW#2fOxAM2kyY4{wdxG~AG!r8QNFMqx_=CDpB za!xg+&0%qCX6oQ4`!3+g9x$+#JM4@?6#TaZMNzdHD*lhDdwjl#EA#1NsZfaroA!GZpPz5rCDY zbVem3>`5wN-veY#dn{*OBs)wjc5c&jJz_RaT&-7B*>?9b)(#Q zke$;h*I$%e^X`>IL%{?1w1i@l*L$&nrU%NM;gq(l>=K5re{xEkGSOj%+!Sr$aE$Da z@<}gNot;bC(dSzgO{KtCb4hU*UZlF0gm}&0|0x87wDef1sn!4%cpyMV97b_SP*C~; z*2Gujy`;#4IC&M(vchxJ*CS&11dw-6l=ARhqyS6KSia2Lbh->7O2d;}N6#MNi2XfD zTMDXCfB{BvdG!kRasMxMaIEjqJoFvRmel}>rKc1W^Rc@31JD7Adq{7y zD2Z?goi248+@@p;T!X-bCbhH$l37-}>272IZXZPORj9SkUXC@kyh#R}0tvzrc;oi9 z*N`$BC(}ooWGMV(Si-k53>5dM<&EnVfP8O~Pjjc9G}3Urs@p|l4_gnr{_Uo7h^z7s zoX|(VVpq|qH^hI(ozh+=^W{%8_621PMh`SIl>z9mUvVu+NGvecr(yrdVh6kT0bg5p z{@#0y`eayuOl}0Z=G5Jv#Z!kOg*M#1orwV-GL{1?)fc&AkASfziBf~e4abo8ZoBMH z2C$Fw65#~|M%Pmbud+-#w8uRK$Th6aI~`r{HwXQJY4?iGEi-}W0R&&pfjPx^7IP}C zc)?H9*qmMZO;-?t2XO+~%yCoBsNFz1=;} zAyh!Z@kRX0!KcLwwR9Gsa;$1e$&lZ}kCKH_&Y&$m`rQ?)=HjU8Kcl$!AK8nd$#L&{ z#&=mR6=jC6gx;FhF|IWwB`@DJ_Luj+caN>2?83HGQT}1g!&D*r4QvN=1x>p4Q=)<{ z0dnQ4Y}IyVD4g{-T+%NxmZn%1DHXBk5y)U$Bbgh+D$|mN+gs-b0n6rRU(MRdI9H!) zAL|un^{7{`n)oYzMFP5HV0XFk@vZ2pOJ7#6am>0!-#y8I>2n|a^zrhpZ3Kuj_~kA_ z^TwxKq`1QTsuT=vBCm3>OO@PK3Ga#exs;k81gM8+A)9Q^`85R-XrWFur$<)G%CM&_ ze&_7jt(Y0VH{^J*&GGcYrcEI4>LtKtJQ{;uC=6rnC|lWxG7s(E{L*K=|86GflJ=^l zc3>NUl%{C#>#HTT_anb``qB$0GdV;5ryMq}!||J%`ml9e1LkEv9=?#=OKW!@!u%->>Rw ziX8V0By~-y@4J&0)ej>bkzb>7{I9oer}HvxH3h)7c%&^hy`P<0282V#b~TAYO?apRP_Z;V?V6ZR-wpROCF9FSjKDUJ+!^Wr;HRDr0j@=W|B||A?^{F;9PgzCfhU z&|DU-ZYT@hFJ~g0y|-bpmQvFfV8WhY^{H)z?M8Cma`#B_P-Hw^WN*>-n1y0!kIBQQ zc9z@As&;rsg&CR%pAmG(Ql-*zMy|@~=IJc&!q+6o?c1DLkkIWIby#`DldH4q19(1Z z3)a7^32a@D3j?3dS*3nH)QV}IgtKzys;NbDt5X`QPd$v+8oWG&xaL9 z?K3g)uJeA1BeXr zr~cppyTzyG)#fkV_Jp@F!5l`vp5>ZVeA%Wc4)(*ww?+OafFv&3dhHH!tZ*r!gn%9; zbo+N2xyHZwuxMjtvGnRVcS$5~{g2O90ckh{+eVUonrimT-9bs>_Ekq2Gm*EnpD(0B zoz7Lbw_!w-+5M|c66zM2qoA<$J3h4*F17dzJPxe3KNwFxPAf=HsSy}>d0to#w)p+` z8CXdtq)igC+`H~o*Hma=FK3zXvt0Z@#-aKWw(sYpiO6eOjuELIc@)VG7V4)_NWZF| zdoU|8KyJ3> z*mwLrGZlty^q&W@d>E$ONeB*(CZj`Nkhn~)|%_GPS{nyLc8wc0+#KOW9*Z{?(^63N#q7o+G zlSCh9J|1sh@8>4_UlBp)dlw8I46p_jxM6zk2hwJyMZg8b3!OhKr~eOetSlq(B9BP^ zr_?WY6~31TlfBF^TPohWPGvW54c~syMoT`ah!-GZ5^KW8ma7WW4t*4q2C_^a|6aYX zy@dyWrkSw)3dWal5->tklj4sw`^{ai(n6H;teGjvHD~SCR1~F7?|&e5(oJ#b4Je{O zGE#t{i0yltYixN?wt?435Dmb?`mK3;eV{faS}h`7?BI&TwN1|iM|pB(-{h^^_%k5B z9|p)CD}dxEWn8ZCh5b0yt-bu&|i5KRr!yALCiatrgX8QIC2Jushq^!v?m8}t=^6g;UB@_BUB^UJe9q(=`omvV?_LL;^$DD1~5 z)}=kAc1m6O#GHvg{tvtvW8{X<*QQ**rnUB_rOu(rVylO?Y&u@0 z(FL!h?4D)xC|>z3il5-XSf@bMJg7P$`tKk+?P`Er0P9x6Fyjm?i4r?92udV{#H!piZnNwbce>9P>nx>LpL0&)saHmx3mjT2(u|;q3Z{Ksy~3 z=u&mzY1-Gw4a10E6A266j(c2V0j&(kz)8$*m(|Pb;RUBq99&#=WCB0xq^b>Sdpt&c zaA@cwajtMqlCd+nSn9V>$ZCFah%T)Q*az2T%>ac{DvVR~)nKt`+lpZ+y%lfmNI z0leRS$QB%zbZ8o8E4IeY^zvN#F5R&5axbW&2o+H0{ywNJbo!ch!k3 z+S`tmI%hcRkjsNkv`bZY9ckn~|0SbyXqPkFd_b-%GU`Z!DI>4m zFjgy3KUgq+d}-Uy%g;}UovD{&_x)C)Bz$%mxrp@s4!wU-GaZZ0pHTw;P=ABd( z*29tBXf5G_fXn%zJq1d#{?#SQ+%pXWpFTB=OuvlUJI`^xX?BU=ba_cqy`(e=cc9u; zQag@HAD39F|3(E9x)9*-aOH>;=uP-hFzA2v*Oz~n6UbkGm#@&}D#PgEAfBJV6G84# z+w;-8|Ix4UU(A|T=YPqp6~DVE9kY=?9%5C$6TbqC;_@hp1Ps(|FyPwlzd<=G$LXqb zkgg>`69xU*>yzF;SH_#iEV-Yjn8vpQK)4y`gQI$}6c+wtV4=|zO_52RHrkn7I+zzbS6EFBdh((}*Szdk zN1t>gcQs46`Y#r^kQA=PNk`y%l^@(J0=> zDeDgPa1-w^#r|6B;BEXI_N(m@bFcD}csRMIdi-EHJY>+q>UpbOkr=mHB*8(S{>S#l zr4++6lR?85bF-AFid3DJe*6cV6(atakX}9$RqN!pf@A`CC-f zzNiJMz+zp+&*ey&E)wdp%MyVQy3zbqQ!5H52oa~$T2vANoSw>^NtS-n({HQga@DwvdyA&c^flJPIxTa!G(gTX(>~^t4?TRC^31osuEHn+z2eDYp4>9AnbSyU*p0JcemH3XA-cdtkl7>rD zCuqr)2;Gs3GT7mo3VE#g++PuOUDy@RUl*tZ5tN4sAN80Q9;0(pIuw}irWxHe8&ct% zbAr#AiG5z~FMAUu$0E~mC&X9v2kQaW7%$RhPW6_BAMD%PE4{YGd?Zu-Rcs*lh_cMw zgv#)}?>@xokwYis2HQ%_!>m7IRfM?l$DWwYRC&F7kZZ8KPaLULOc>7)0?JDAIlO6# zDfB@|1ADSy$sP_)7Yq5p7#xHpr}QlsJ$w#=&+fP4*>db)Z~Q!p|oMY9_CXp=EstTBOnj#48`Mtvz@DB`D!aj=p|W;S}r%xx3e)B~L|OOoD2B@IE$h%&`GV z!OZv;C~1KN(?8*5C*)y@w|T0JAql?3{G$+or;`(R0Q(r1zrSoNHm+{C2IMCiK+<4* z#1p+#uL$FLe^XUBLARstWgS^p8=I8J@L=B1JX?mPH+#~a2E+IN&|R`=Mhk-~!rmX_d*8D0v+GwfTMVR1V@W8{ zBPHtFl+TjX=5jwQx1*%`Ax=fZ8+Yt1JK+~_>QDL9Z0@Z)>t6V*W)(4+R|?%4jWn7X z3!ia4mnJ4OQRX6=Q)~y*Lr(=!rO(v=TCrW#Km5$@5VHiIzm#b1SZn%foa5{+REt^PY)k20U9c|^_`gzLPMBF;-P zjSp^!^{ZYNYw^*trk#K09(lB@DjMBoiV@L&U~OsXx%aO7bo7thg~ZCOPd33p@XR@y znfZ+ZIL7+*-s{n3Jxk4d@{Y<`YLn+L$e`@u;(`L12~$EpZ@h6Q3DF!2mC1?42a`OQ zIP;$FE&)Xe;|1)eGJVqBcd!WG7REb>S6(=|?$g z&r*1zerbj?-L~#~t=3{45^T;)O~-;TB$0C*06gDX$KbPplv{$q=ZVdKU&<{vB=Vnb zZF6r!hx`7cjy;lmB$d>TIboMVfI9PE5)SvaWA)ORK#S^m5otjWWFX9K!$3XuSmot^ zzY1&>|5BZ4u$L@9GAZJu&dd8O;-+PRqlY4H#6nAQ>(LKG!0ZXVhEcL)p8s4^@yYkp zZ$b4Psj&y@$<3R>zuV5Q1($40KYG#it@lM&=J<-|4$s_O?zv)-Eai0WIk}ENd0S5N zbS=$))1Yqp4_nMZ2k(&=!#{0S&<7;3B>-hR36}bQf`)X{|5q!bbQ4kfuDww1{zS#D z3%CA}mX?BA4<1{+C`HThN4$9ryf+u~ejy;Zy$(pFquq``S}6|(5m0{r*|_nSl~6nd zq_ECZ=tNHzSfM^9U*M%>6@gr1cPH=+l&l`tgLzCMTZ&%KLt{4RkSo4$E;Od`j*B&c z=~vT=U`sUSaXi^C1qJB-eHCHbi&Am7My^E^h;nXiAYp~Zm=0+FhTu0BSlZdrIr6+0 z+%`)!2isY_!{b)_iYu{<4lW*tWIRp@?Szr_NMm)(Q}2vAD_OtWNo9{K!o9i=Pr|ZM z(2mPs-PawpUFQy7UVrh)sW=-&5)7v- z0DE^|*?ilq{5735utc7BKexvWx661xd?=8d#vx9KURnQ6=k*|2&;dQAiP;PZ`)cfS zVIj8=-6WMSu^u^jbws)I^95yP4%M_l6#aO}mm%q2QJ#RvZlWar; z#Iv%;n?#=UX6i9_T+uLqL}rl>Wno+VrTmyTlM|=E`jf@-1b=RvIa~VqQL7hm#lH53 ztOI=dj;APWt$>dy{WmXcEcXT9(ZXe4^lVET#=MxVykH^wk>bbxqp8(~FWY8(jt4oe$MVEPTI;J+o>E%P6UZ zo{`#J)q6JVU*`T8>U2x;$`y@QYE&rZCU|#6^ZBM3tNY(C>!iX_JnKP1Z#d6NW!LBs zd(t>?RquMvEHd*CUE%N{kbA^B#6@`)qa7|oW_&g;jb!(4tAu!gaIj>*yT@`+oUKXB9#J{jd*Br_Jbx@B8_~LslSA+uo#`-z-uR{&QzS!e*e! zV>KGSO9NY5E!;+QNlDKMlRApmIHU;-!EMCo^*4RPJ%_25aT?!g$v&xn;CHRHw8|c* zzIowqdMb_g@GAuZX(qBgrafD#02JCHN})ho{wmf-t81jZDg0W(v-2^X#&^hUpPf%X zun=)@?69CytmMi;(H~9xOoP~eL)BhCE|}|8nQ$6wXjy9wKVyZQGWa(6-R08$cWL$3 zcaBuoZgOC5-o)K50hTTrguOQzz$AVH92(2`aS94xBH?jU`o91~d{@(xy4lC6x|+veLV_Ru$nN@@ovaGc=K1jQ zahs3TlCRELa#O)MyWHh2{N-?0O6BPR=KeLH_!w-guj)P25jC4Y@wd>O zpvXB9r^gJP?EX{&DDpyXV275-o_w&a*o1@~G;wq+8IM|~=*(ySM)AeC zY3+EZHExwsXI9qO+xzs=@V6v|soQZ=zvIK56??1(cILgGPbfPMF)#RM2S6oZ8+}~k z)k&&9D=bZNUy2&pHZ~SUJy3}_2g3cHm~FJ+(S1G3n>RspA9?$C2|M4#la%M3Jq$!} zFeoBHV_fAB=V9cF{B*W3OymZ>IbAVp8FQ{7jyr-}@XjgK3fUmyQzox`zRd0}(1n>T zAl04YbN<;DdR6%E27uM8CDa16|6A_tBmc7lAi|VeZ5`!hTbtAnnm!AAeY9ck_qy@i zN3dIuiwpbPOOsSf&naq0OBKj6QLW(TC482BaKpQ}WTs-M@9FN(k4bC)T4OwZwg&e0 zh}p2xP|?6@G)cug${4wi_do2d)O+=w9b(ev$dVP|RV{m9yrA_^YXZv@h<(0|*tDG~9hid=h zc)DV4Arq#tHYSF$HnzxR3^Sr)>`Um{w{VjsOB92#WXTpuGlYo{BKt0`LAaz`rEJNT zrOO@b{Y}eV{*Uhe$^Xg!JUb80IltF=aL)Jl{eIqW%db&^^fM^kS9UG}!}r3yi;Mp$n*BLh6bFi4T+s7W+^UE*@ym^p`AIQE@Pka}0$hlsO8HVz@xS*JM0z9Km< zT_7f!a8^5|&D*tptHf_D(yBn|u2S8g>#IsR{XmjW&0 z@OY63M|D!{6#!*#KFg9Whlr#hrzmBrR>l<%47JRCX+F<;&aqK&&qf-862=}|3$=DL zZGhEFDxs-ro#LX|r=6nvU1HWa$AF0im~lN`;k&k~P4?MN#c(0JvWXWV%L! zzB#8V>Ktw7c{^b(bA+qtSxDFh4P&x$h3=id4Ti>eMaf8r@0%0iG&jawwDIOK5J!XT zm3wm5P(O$26Em_AY`)G!Z_~|wd;R{&1l2K0Aj@J3oR3vBV)DoZ#7SsOk9JRIbZ=kC zRU#;J$Vg)vchOUuL!2Ej)KK~QLV&v0G0Oe7JEp`2v_+EW?&MQe&Qenut3m4Zz1-O$ zhN!|zUQHZmAR5lb*i5`QMk=mMpnAL&s!AaERp)KAr=phv+xa5O0ga~JZ- z_3%O8Z*nq{ zJXCoAd0zLyfF36VgK=oqLm7>ux1QAQD=@zT(Q?7T2O$4vRNjBZKc4>woNwUx7o6Yz zAVAba&SY?av9W9B`#0_Hi{D|~z&roETZEh?hqjfdM3HcvrKX*f#fRLtklrt#c`Qc^ zymk>d4 zcj^6=8+8ZEDM9~lG^9pP5u zvtzv+XTe=Fn~F*~+9qx^+xgvr3mrcmXYrQsdKI(*XtcU9vv3IQg1|^D_+-hZ*&ecT zCCSR36u9F6Vh67WqW)x)?;KuzufC^TY}1elV)@_Cy(r${irl7y$?n7ae7q5JjuZ(_cn&i5UX9(!-jX48|Ni^NfFq1YtMh(l$K@7wfXMzF4!-p4#CY+_(fn zx}U*oOdhUll~+APRm!?nKHWFqW?IxENw&VR!1aX>90uy!%bH4CN6J^br^1*MN>ACg z62~atv9OU-CCm&Hgnpoc7wXxx;};0#)ZUu*eJ~K4pFbEsFEWaD8=}@zC-8s(p-jE-6smX<#6 z6)oh=6F-KGBTwd>4fWGNcJoQaU&WPyzA%r8~7M{J?uA(p{E`F-Cs6o4&@+ zSF{Dm<)pwpl@t`9d+#fEP?z!IrndlhFs2t09e_=%*sfdZWBCg2f{0rKOchS9{ZMUn zl^E<{Q1FYs`aK2&F_VojkW-~wOc+)@@8Zv)tEOdb_LOHaRaI6__lDyKS`e+`)SUD4 z5a5AIqBm^32~y@IZCryC_Ce9+WwH~$5%DKLIi;UTYK|_@-iFDvIuJFq#3N@JOjZ&1 z@EBqSQe0;;Ko)11q)IA4I*p}qMagq)cIns2%dP<1SVB4Y9;4KzKH!FSm)E=vJG5Gk zZelZri8>P}eojg{u00sZ&aaz&{8P6`#HV)W3238u(;X&W+Z6x9-BppGvXY11u9ea* zK7QC)`6ActiFfY(?8B;iV(1@yHLF#n0KOqs?d{aETG4CMIcLWTokK=@KSCwSLt&O# zoV=2u0pa7x$3iShPQNLtAW0fS2s_!D!j~>nt2RwFC(ol2xuFMN8N1nE&D-3EZq-fd z^tHz!P9Wn<2=b;d@EdL!*`MuJbR7Q*_bHPXw7`pw-i97g?Oq z88ao;b%Q+_a69cY$D<39i-n8sJ-chKfPFTv%4$?OvizEq4=qaXCW?kv;Y|)_#+N0YYR2a0Zjfc?ec;f+>1mZ< He+>Hr-;;Sx diff --git a/zh-cn/application-dev/ability-deprecated/figures/fa-threading-model.png b/zh-cn/application-dev/ability-deprecated/figures/fa-threading-model.png deleted file mode 100644 index db1102837790330e536bd43062852bf04d505ee1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50739 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 diff --git a/zh-cn/application-dev/ability-deprecated/figures/favsstage.png b/zh-cn/application-dev/ability-deprecated/figures/favsstage.png deleted file mode 100644 index 13b1766da57d89f206068dbb03741ba1f0ae96ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24764 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 A5C8xG diff --git a/zh-cn/application-dev/ability-deprecated/figures/page-ability-lifecycle.png b/zh-cn/application-dev/ability-deprecated/figures/page-ability-lifecycle.png deleted file mode 100644 index b35954967bb9c733725da2f0700481932619ae45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17062 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 He)InUJQ&UQ diff --git a/zh-cn/application-dev/ability-deprecated/figures/stageconcept.png b/zh-cn/application-dev/ability-deprecated/figures/stageconcept.png deleted file mode 100644 index 8b14ea5430b7c94092eca2f6ef9aee350b006504..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34975 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 diff --git a/zh-cn/application-dev/ability-deprecated/figures/stagedesign.png b/zh-cn/application-dev/ability-deprecated/figures/stagedesign.png deleted file mode 100644 index 75f5344d83e7c1c60a0a480042473a10a701449d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33494 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 VWqA48DR_Gh{Zq!euTEUK^Isy_PXhn| diff --git a/zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-caution.gif b/zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-caution.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-danger.gif b/zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-danger.gif deleted file mode 100644 index 6e90d7cfc2193e39e10bb58c38d01a23f045d571..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-note.gif b/zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-note.gif deleted file mode 100644 index 6314297e45c1de184204098efd4814d6dc8b1cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> diff --git a/zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-notice.gif b/zh-cn/application-dev/ability-deprecated/public_sys-resources/icon-notice.gif deleted file mode 100644 index 86024f61b691400bea99e5b1f506d9d9aef36e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 diff --git a/zh-cn/application-dev/ability-deprecated/stage-ability-continuation.md b/zh-cn/application-dev/ability-deprecated/stage-ability-continuation.md deleted file mode 100644 index 58266d3abf..0000000000 --- a/zh-cn/application-dev/ability-deprecated/stage-ability-continuation.md +++ /dev/null @@ -1,289 +0,0 @@ -# 跨端迁移开发指导 - -## 场景介绍 - -迁移的主要工作是实现将应用当前任务,包括页面控件状态变量、分布式对象等,迁移到远端设备。页面控件状态变量用于同步页面UI数据,分布式对象用于同步内存中的数据。 - -## 接口说明 - -迁移提供的能力如下,具体的API详见[接口文档](../reference/apis/js-apis-app-ability-uiAbility.md)。 - -**表1** 应用迁移API接口功能介绍 - -|接口名 | 描述| -|:------ | :------| -| onContinue(wantParam : {[key: string]: any}): OnContinueResult | 迁移**发起端**在该回调中保存迁移所需要的数据,同时返回是否同意迁移:AGREE表示同意,REJECT表示拒绝;MISMATCH表示版本不匹配。 | -| onCreate(want: Want, param: AbilityConstant.LaunchParam): void; | 多实例应用迁移**目标端**在该回调中完成数据恢复,并触发页面恢复。 | -| onNewWant(want: Want, launchParams: AbilityConstant.LaunchParam): void; | 单实例应用迁移**目标端**在该回调中完成数据恢复,并触发页面恢复。 | - - - -**图1** 迁移开发示意图 - -![continuation_dev](figures/continuation-info.png) - -迁移实际上是Ability携带数据的跨端启动。触发迁移动作时,会在A设备上通过系统回调应用的onContinue()方法,开发者需要在此方法中实现当前数据的保存。然后系统发起在B设备上的跨端启动,并将数据一同传输到B设备。B设备系统回调onCreate()/onNewWant()方法,开发者需要在此方法中实现传输过来的数据的恢复。 - -## 开发步骤 - -下文代码片段来自参考[示例](https://gitee.com/openharmony/ability_dmsfwk/tree/master/services/dtbschedmgr/test/samples/continuationManualTestSuite)。 - -### 迁移应用 - -1. 配置 - - - 配置应用支持迁移 - - 在module.json5中配置continuable字段:true表示支持迁移,false表示不支持,默认为false。配置为false的应用将被系统识别为无法迁移。 - - ```javascript - { - "module": { - "abilities": [ - { - "continuable": true - } - ] - } - } - ``` - - - - 配置应用启动类型 - - 多实例应用在module.json5中将launchType字段配置为multiton,目标端将会拉起一个新的应用,并恢复页面;单实例将该字段配置为singleton,如果目标端应用已经打开,迁移将会将已有页面栈清空,并根据迁移数据恢复页面。关于单实例与多实例的更多信息详见[ability开发指导](./stage-ability.md)启动模式。 - - 多实例: - - ```javascript - { - "module": { - "abilities": [ - { - "launchType": "multiton" - } - ] - } - } - ``` - - 缺省或如下配置为单实例: - - ```javascript - { - "module": { - "abilities": [ - { - "launchType": "singleton" - } - ] - } - } - ``` - - - 申请分布式权限 - - 支持跨端迁移的应用需要在module.json5申请分布式权限 DISTRIBUTED_DATASYNC。 - - ```javascript - "requestPermissions": [ - { - "name": "ohos.permission.DISTRIBUTED_DATASYNC" - }, - ``` - - 这个权限需要在应用首次启动的时候弹窗让用户授予,可以通过在ability的onWindowStageCreate中添加如下代码实现: - - ```javascript - requestPermissions = async () => { - let permissions: Array = [ - "ohos.permission.DISTRIBUTED_DATASYNC" - ]; - let needGrantPermission = false - let accessManger = accessControl.createAtManager() - Logger.info("app permission get bundle info") - let bundleInfo = await bundle.getApplicationInfo(BUNDLE_NAME, 0, 100) - Logger.info(`app permission query permission ${bundleInfo.accessTokenId.toString()}`) - for (const permission of permissions) { - Logger.info(`app permission query grant status ${permission}`) - try { - let grantStatus = await accessManger.verifyAccessToken(bundleInfo.accessTokenId, permission) - if (grantStatus === PERMISSION_REJECT) { - needGrantPermission = true - break; - } - } catch (err) { - Logger.error(`app permission query grant status error ${permission} ${JSON.stringify(err)}`) - needGrantPermission = true - break; - } - } - if (needGrantPermission) { - Logger.info("app permission needGrantPermission") - try { - await accessManger.requestPermissionsFromUser(this.context, permissions) - } catch (err) { - Logger.error(`app permission ${JSON.stringify(err)}`) - } - } else { - Logger.info("app permission already granted") - } - } - ``` - - - -2. 实现onContinue接口 - - onContinue()接口在发起端被调用,主要用于在迁移发起时,通知开发者保存控件状态变量和内存中数据,准备迁移。当应用准备完成后,需要返回OnContinueResult.AGREE(0)表示同意迁移,否则返回相应的错误码拒绝迁移。如果不实现该接口,系统将默认为拒绝迁移。 - - 导入模块 - - ```javascript - import UIAbility from '@ohos.app.ability.UIAbility'; - import AbilityConstant from '@ohos.app.ability.AbilityConstant'; - ``` - - 要实现迁移,此接口必须实现并返回AGREE,否则默认为拒绝迁移。 - - 另外,在该接口的入参wantParam中可以获取目标设备的deviceId(key为“targetDevice”),以及目标设备上所安装的应用的版本号(key为“version”)。版本号可用来与本应用版本进行对比,做兼容性判断,如果判定本应用版本与远端不兼容,可以返回OnContinueResult.MISMATCH拒绝迁移。 - - 示例 - - ```javascript - onContinue(wantParam : {[key: string]: any}) { - Logger.info(`onContinue version = ${wantParam.version}, targetDevice: ${wantParam.targetDevice}`) - let workInput = AppStorage.Get('ContinueWork'); - // set user input data into want params - wantParam["work"] = workInput // set user input data into want params - Logger.info(`onContinue input = ${wantParam["input"]}`); - return AbilityConstant.OnContinueResult.AGREE - } - ``` - -3. 在onCreate/onNewWant接口中实现迁移逻辑 - - onCreate()接口在迁移目标端被调用,在目标端ability被拉起时,通知开发者同步已保存的内存数据和控件状态,完成后触发页面的恢复。如果不实现该接口中迁移相关逻辑,ability将会作为普通的启动方式拉起,无法恢复页面。 - - 远端设备上,在onCreate()中根据launchReason判断该次启动是否为迁移LaunchReason.CONTINUATION - - 完成数据恢复后,开发者需要调用restoreWindowStage来触发页面恢复。 - - 在入参want中也可以通过want.parameters.version来获取发起端的应用版本号。 - - 示例 - - ```javascript - import UIAbility from '@ohos.app.ability.UIAbility'; - import distributedObject from '@ohos.data.distributedDataObject'; - - export default class EntryAbility extends UIAbility { - storage : LocalStorag; - - onCreate(want, launchParam) { - Logger.info(`EntryAbility onCreate ${AbilityConstant.LaunchReason.CONTINUATION}`) - if (launchParam.launchReason == AbilityConstant.LaunchReason.CONTINUATION) { - // get user data from want params - let workInput = want.parameters.work - Logger.info(`work input ${workInput}`) - AppStorage.SetOrCreate('ContinueWork', workInput) - - this.storage = new LocalStorage(); - this.context.restoreWindowStage(this.storage); - } - } - } - ``` - 如果是单实例应用,则同样的代码实现onNewWant接口即可。 - -### 迁移数据 - -使用分布式对象 - -分布式数据对象提供了与本地变量类似的操作,实现两个设备的数据同步,当设备1的应用A的分布式数据对象增、删、改数据后,设备2的应用A也可以获取到对应的数据变化,同时还能监听数据变更以及对端数据对象的上下线。用法详见[分布式数据对象跨设备数据同步](../database/data-sync-of-distributed-data-object.md)。 - -迁移场景中,分布式对象(distributedDataObject)主要用于将本机内存数据同步到目标设备。 - -- 发起端在onContinue()中,将待迁移的数据存入分布式对象中,并调用save接口将数据保存并同步到远端,然后设置好session id,并通过wantParam将session id传到远端设备。 - - ```javascript - import UIAbility from '@ohos.app.ability.UIAbility'; - import distributedObject from '@ohos.data.distributedDataObject'; - - var g_object = distributedObject.createDistributedObject({data:undefined}); - - export default class EntryAbility extends UIAbility { - sessionId : string; - - onContinue(wantParam : {[key: string]: any}) { - Logger.info(`onContinue version = ${wantParam.version}, targetDevice: ${wantParam.targetDevice}`) - - if (g_object.__sessionId === undefined) { - this.sessionId = distributedObject.genSessionId() - Logger.info(`onContinue generate new sessionId`) - } - else { - this.sessionId = g_object.__sessionId; - } - - wantParam["session"] = this.sessionId - g_object.data = AppStorage.Get('ContinueStudy'); - Logger.info(`onContinue sessionId = ${this.sessionId}, name = ${g_object.data}`) - g_object.setSessionId(this.sessionId); - g_object.save(wantParam.targetDevice, (result, data)=>{ - Logger.info("save callback"); - Logger.info("save sessionId " + data.sessionId); - Logger.info("save version " + data.version); - Logger.info("save deviceId " + data.deviceId); - }); - ``` - -- 目标设备在onCreate()中,取出发起端传过来的session id,建立分布式对象并关联该session id,这样就能实现分布式对象的同步。需要注意的是,在调用restoreWindowStage之前,迁移需要的分布式对象必须全部关联完,保证能够获取到正确的数据。 - - ```javascript - import UIAbility from '@ohos.app.ability.UIAbility'; - import distributedObject from '@ohos.data.distributedDataObject'; - - var g_object = distributedObject.createDistributedObject({data:undefined}); - - export default class EntryAbility extends UIAbility { - storage : LocalStorag; - - onCreate(want, launchParam) { - Logger.info(`EntryAbility onCreate ${AbilityConstant.LaunchReason.CONTINUATION}`) - if (launchParam.launchReason == AbilityConstant.LaunchReason.CONTINUATION) { - // get distributed data object session id from want params - this.sessionId = want.parameters.session - Logger.info(`onCreate for continuation sessionId: ${this.sessionId}`) - - // in order to fetch from remote, reset g_object.data to undefined first - g_object.data = undefined; - // set session id, so it will fetch data from remote - g_object.setSessionId(this.sessionId); - - AppStorage.SetOrCreate('ContinueStudy', g_object.data) - this.storage = new LocalStorage(); - this.context.restoreWindowStage(this.storage); - } - - } - } - ``` - -### 其他说明 - -1. 超时机制: - - - 如果目标端迁移应用未安装,系统会去查询在目标端设备上能否安装,这段最大时间为4s,超出此时间,调用者会收到超时错误码,视为不可在目标端安装。若可安装,则系统会提示用户在目标端安装,安装完成后可再次尝试发起迁移。 - - 如果目标端迁移应用已安装 ,那么发起迁移后超时时间为20s,若超过此时间,调用者会收到超时错误码,视为此次迁移失败。 - -2. 当前系统默认支持页面栈信息的迁移,即发起端页面栈会被自动迁移到目标端,无需开发者适配。 - -### 约束 - -1. 迁移要求在同ability之间进行,也就是需要相同的bundleName、moduleName和abilityName,具体含义[应用包配置文件说明](../quick-start/module-configuration-file.md)。 -2. 当前应用只能实现迁移能力,但迁移的动作只能由系统发起。 - -### 最佳实践 - - 为了获得最佳体验,建议100kb以下的数据直接使用wantParam传输,大于100kb的数据采用分布式对象传输。 \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/stage-ability.md b/zh-cn/application-dev/ability-deprecated/stage-ability.md deleted file mode 100644 index bd50e24180..0000000000 --- a/zh-cn/application-dev/ability-deprecated/stage-ability.md +++ /dev/null @@ -1,313 +0,0 @@ -# Ability开发指导 -## 场景介绍 -Stage模型是区别于FA模型的一种应用开发模型,对此模型的介绍详见[Stage模型综述](stage-brief.md)。开发Stage模型应用时,需要在module.json5和app.json5配置文件中对应用的包结构进行声明,对应用包结构配置文件的说明详见[应用包结构配置文件的说明](../quick-start/application-package-structure-stage.md)。基于Stage模型的Ability应用开发,主要涉及如下功能逻辑: -- 创建支持使用屏幕浏览及人机交互的Ability应用,包括实现Ability的生命周期、获取Ability配置信息、向用户申请授权及环境变化通知等场景。 -- 启动Ability应用,包括相同设备启动Ability、跨设备启动Ability以及指定页面启动Ability等场景。 -- 通用组件Call功能,详见[Call调用开发指导](stage-call.md)。 -- 连接ServiceExtensionAbility,与ServiceExtensionAbility断开连接,详见[ServiceExtensionAbility开发指导](stage-serviceextension.md)。 -- 应用迁移,详见[应用迁移开发指导](stage-ability-continuation.md)。 - -### 启动模式 -Ability支持单实例、多实例和指定实例3种启动模式,在module.json5中通过launchType配置。启动模式对应Ability被启动时的行为,对启动模式的详细说明如下: - -| 启动模式 | 描述 |说明 | -| ----------- | ------- |---------------- | -| multiton | 多实例模式 | 每次startAbility都会启动一个新的实例。 | -| singleton | 单实例模式 | 也是默认情况下的启动模式。系统中只存在唯一一个实例,startAbility时,如果已存在,则复用系统中的唯一一个实例。 | -| specified | 指定实例 | 运行时由Ability内部业务决定是否创建多实例。 | - -缺省情况下是singleton模式,module.json5示例如下: -```json -{ - "module": { - "abilities": [ - { - "launchType": "singleton", - } - ] - } -} -``` -## 创建Ability -### 接口说明 -AbilityStage功能如下(AbilityStage类,拥有context属性,具体的API详见[接口文档](../reference/apis/js-apis-app-ability-abilityStage.md)): - -**表1** AbilityStage API接口功能介绍 -|接口名|描述| -|:------|:------| -|onCreate(): void|AbilityStage初始化时被调用。| -|onAcceptWant(want: Want): string|启动指定Ability时被调用。| -|onConfigurationUpdated(config: Configuration): void|全局配置发生变更时被调用。| - -Ability功能如下(Ability类,具体的API详见[接口文档](../reference/apis/js-apis-app-ability-uiAbility.md)): - -**表2** Ability API接口功能介绍 - -|接口名|描述| -|:------|:------| -|onCreate(want: Want, param: AbilityConstant.LaunchParam): void|Ability生命周期回调,Ability启动时被调用。| -|onDestroy(): void|Ability生命周期回调,Ability销毁时被调用。| -|onWindowStageCreate(windowStage: window.WindowStage): void|Ability生命周期回调,创建window stage时被调用,应用开发者可通过window.WindowStage的接口执行页面加载等操作。| -|onWindowStageDestroy(): void|Ability生命周期回调,销毁window stage时被调用。| -|onForeground(): void|Ability生命周期回调,Ability切换至前台时被调用。| -|onBackground(): void|Ability生命周期回调,Ability切换至后台时被调用。| -|onNewWant(want: Want, launchParams: AbilityConstant.LaunchParam): void|Ability回调,Ability的启动模式设置为单例时被调用。| -|onConfigurationUpdated(config: Configuration): void|Ability回调,Ability的系统配置更新时被调用。| -### 实现AbilityStage及Ability生命周期 -创建Stage模型的Page Ability应用,需实现AbilityStage接口及Ability生命周期接口,并使用窗口提供的方法设置页面。具体示例代码如下: -1. 导入AbilityStage模块。 - ```ts - import AbilityStage from "@ohos.app.ability.AbilityStage"; - ``` -2. 实现AbilityStage接口,接口生成的默认相对路径:entry\src\main\ets\Application\AbilityStage.ts。 - ```ts - export default class MyAbilityStage extends AbilityStage { - onCreate() { - console.log("MyAbilityStage onCreate") - } - } - ``` -3. 导入Ability模块。 - ```js - import UIAbility from '@ohos.app.ability.UIAbility'; - ``` -4. 实现UIAbility生命周期接口,接口默认生成的相对路径:entry\src\main\ets\entryability\EntryAbility.ts。 - - 在`onWindowStageCreate(windowStage)`中通过loadContent接口设置应用要加载的页面,window接口的使用详见[窗口开发指导](../windowmanager/application-window-stage.md)。 - ```ts - export default class EntryAbility extends UIAbility { - onCreate(want, launchParam) { - console.log("EntryAbility onCreate") - } - - onDestroy() { - console.log("EntryAbility onDestroy") - } - - onWindowStageCreate(windowStage) { - console.log("EntryAbility onWindowStageCreate") - - windowStage.loadContent("pages/index").then(() => { - console.log("EntryAbility load content succeed") - }).catch((error) => { - console.error("EntryAbility load content failed with error: " + JSON.stringify(error)) - }) - } - - onWindowStageDestroy() { - console.log("EntryAbility onWindowStageDestroy") - } - - onForeground() { - console.log("EntryAbility onForeground") - } - - onBackground() { - console.log("EntryAbility onBackground") - } - } - ``` -### 获取AbilityStage及Ability的配置信息 -AbilityStage类及Ability类均拥有context属性,应用可以通过`this.context`获取Ability实例的上下文,进而获取详细的配置信息。 - -如下示例展示了AbilityStage通过context属性获取包代码路径、HAP名称、Ability名称以及系统语言的方法。具体示例代码如下: - -```ts -import AbilityStage from "@ohos.app.ability.AbilityStage"; - -export default class MyAbilityStage extends AbilityStage { - onCreate() { - console.log("MyAbilityStage onCreate") - let context = this.context - console.log("MyAbilityStage bundleCodeDir" + context.bundleCodeDir) - - let currentHapModuleInfo = context.currentHapModuleInfo - console.log("MyAbilityStage hap module name" + currentHapModuleInfo.name) - console.log("MyAbilityStage hap module mainAbilityName" + currentHapModuleInfo.mainAbilityName) - - let config = this.context.config - console.log("MyAbilityStage config language" + config.language) - } -} -``` - -如下示例展示了Ability通过context属性获取包代码路径、HAP名称、Ability名称以及系统语言的方法。具体示例代码如下: -```ts -import UIAbility from '@ohos.app.ability.UIAbility'; - -export default class EntryAbility extends UIAbility { - onCreate(want, launchParam) { - console.log("EntryAbility onCreate") - let context = this.context - console.log("EntryAbility bundleCodeDir" + context.bundleCodeDir) - - let abilityInfo = this.context.abilityInfo; - console.log("EntryAbility ability bundleName" + abilityInfo.bundleName) - console.log("EntryAbility ability name" + abilityInfo.name) - - let config = this.context.config - console.log("EntryAbility config language" + config.language) - } -} -``` -### 系统环境变化通知 -环境变化,包括全局配置的变化和Ability配置的变化。全局配置指全局的、系统的配置,目前包括“语言”和“颜色模式”,全局配置的变化一般由“设置”中的配置项或“控制中心”中的图标触发。Ability配置指与单个Ability实例相关的配置,目前包括“displayId”(物理屏幕Id)、“屏幕分辨率”,“横竖屏”,这些配置与Ability所在的Display有关,Ability配置的变化一般由窗口触发。配置项目前均定义在[Configuration](../reference/apis/js-apis-application-configuration.md)类中。 - -对于Stage模型的应用,配置发生变化时,不会重启Ability,会触发应用的`onConfigurationUpdated(config: Configuration)`回调,若应用希望根据配置变化做相应处理,可以重写`onConfigurationUpdated`回调,若无需处理配置变化,则可以不必实现`onConfigurationUpdated`回调。应该注意的是,回调中的Configuration对象包括当前Ability所有的配置,不仅是发生变化的配置。 - -如下示例展示了AbilityStage的`onConfigurationUpdated`回调实现,系统语言和颜色模式发生变化时触发该回调。具体示例代码如下: -```ts -import AbilityStage from '@ohos.app.ability.AbilityStage'; -import ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant'; - -export default class MyAbilityStage extends AbilityStage { - onConfigurationUpdated(config) { - if (config.colorMode === ConfigurationConstant.ColorMode.COLOR_MODE_DARK) { - console.log('colorMode changed to dark') - } - } -} -``` - -如下示例展示了Ability的`onConfigurationUpdated`回调实现,系统语言、颜色模式以及Display相关的参数,比如方向、Density,发生变化时触发该回调。具体示例代码如下: -```ts -import UIAbility from '@ohos.app.ability.UIAbility'; -import ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant'; - -export default class EntryAbility extends UIAbility { - direction : number; - - onCreate(want, launchParam) { - this.direction = this.context.config.direction - } - - onConfigurationUpdated(config) { - if (this.direction !== config.direction) { - console.log(`direction changed to ${config.direction}`) - } - } -} -``` -## 启动Ability -### 接口说明 -Ability类拥有context属性,context属性为AbilityContext类,AbilityContext类拥有abilityInfo、currentHapModuleInfo等属性,启动Ability等方法。具体的API详见[接口文档](../reference/apis/js-apis-inner-application-uiAbilityContext.md)。 - -**表3** AbilityContext API接口功能介绍 -|接口名|描述| -|:------|:------| -|startAbility(want: Want, callback: AsyncCallback\): void|启动Ability。| -|startAbility(want: Want, options?: StartOptions): Promise\|启动Ability。| -|startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback\): void|带AccountId启动Ability。| -|startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): Promise\|带AccountId启动Ability。| -|startAbilityForResult(want: Want, callback: AsyncCallback\): void|带返回结果启动Ability。| -|startAbilityForResult(want: Want, options?: StartOptions): Promise\|带返回结果启动Ability。| -|startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncCallback\): void|带返回结果及AccountId启动Ability。| -|startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartOptions): Promise\|带返回结果及AccountId启动Ability。| -### 相同设备启动Ability -应用可以通过`this.context`获取Ability实例的上下文,进而使用AbilityContext中的StartAbility相关接口启动Ability。启动Ability可指定Want、StartOptions、accountId,通过callback形式或promise形式实现。具体示例代码如下: -```ts -let context = this.context -let want = { - "deviceId": "", - "bundleName": "com.example.MyApplication", - "abilityName": "EntryAbility" -}; -context.startAbility(want).then(() => { - console.log("Succeed to start ability") -}).catch((error) => { - console.error("Failed to start ability with error: "+ JSON.stringify(error)) -}) -``` - -### 跨设备启动Ability(当前仅对系统应用开放) ->说明:由于DeviceManager的getTrustedDeviceListSync接口仅对系统应用开放,当前跨设备启动Ability仅支持系统应用 -跨设备场景下,需指定对端设备deviceId,具体示例代码如下: -```ts -let context = this.context -let want = { - "deviceId": getRemoteDeviceId(), - "bundleName": "com.example.MyApplication", - "abilityName": "EntryAbility" -}; -context.startAbility(want).then(() => { - console.log("Succeed to start remote ability") -}).catch((error) => { - console.error("Failed to start remote ability with error: " + JSON.stringify(error)) -}) -``` -从DeviceManager获取指定设备的deviceId。具体示例代码如下: -```ts -import deviceManager from '@ohos.distributedHardware.deviceManager'; -function getRemoteDeviceId() { - if (typeof dmClass === 'object' && dmClass !== null) { - let list = dmClass.getTrustedDeviceListSync(); - if (typeof (list) === 'undefined' || typeof (list.length) === 'undefined') { - console.log("EntryAbility onButtonClick getRemoteDeviceId err: list is null"); - return; - } - console.log("EntryAbility onButtonClick getRemoteDeviceId success:" + list[0].deviceId); - return list[0].deviceId; - } else { - console.log("EntryAbility onButtonClick getRemoteDeviceId err: dmClass is null"); - } -} -``` -向用户申请数据同步'ohos.permission.DISTRIBUTED_DATASYNC'的权限。申请授权示例代码见[abilityAccessCtrl.requestPermissionsFromUse](../reference/apis/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9)。 -### 指定页面启动Ability -当Ability的启动模式设置为单例时,若Ability已被拉起,再次启动Ability会触发onNewWant回调。应用开发者可以通过want传递启动参数,比如希望指定页面启动Ability,可以通过want中的uri参数或parameters参数传递pages信息。目前,Stage模型中Ability暂时无法直接使用router的能力,可以将启动参数传递给自定义组件,在自定义组件的生命周期中调用router接口显示指定页面。具体示例代码如下: - -使用startAbility再次拉起Ability,通过want中的uri参数传递页面信息: -```ts -async function reStartAbility() { - try { - await this.context.startAbility({ - bundleName: "com.sample.MyApplication", - abilityName: "EntryAbility", - uri: "pages/second" - }) - console.log('start ability succeed') - } catch (error) { - console.error(`start ability failed with ${error.code}`) - } -} -``` - -在Ability的onNewWant回调中获取包含页面信息的want参数: -```ts -import UIAbility from '@ohos.app.ability.UIAbility'; - -export default class EntryAbility extends UIAbility { - onNewWant(want, launchParams) { - globalThis.newWant = want - } -} -``` - -在自定义组件中获取包含页面信息的want参数并根据uri做路由处理: -```ts -import router from '@ohos.router' - -@Entry -@Component -struct Index { - newWant = undefined - - onPageShow() { - console.info('Index onPageShow') - let newWant = globalThis.newWant - if (newWant.hasOwnProperty("uri")) { - router.push({ url: newWant.uri }); - globalThis.newWant = undefined - } - } -} -``` -## 相关实例 - -基于Stage模型下的Ability开发,有以下相关实例可供参考: - -- [Ability内和Ability间页面的跳转(ArkTS)(API9)](https://gitee.com/openharmony/codelabs/tree/master/Ability/StageAbility) - -- [Stage模型下Ability的创建和使用(ArkTS)(API9)](https://gitee.com/openharmony/codelabs/tree/master/Ability/StageAbilityDemo) - -- [Ability内页面间的跳转(ArkTS)(API9)](https://gitee.com/openharmony/codelabs/tree/master/Ability/PagesRouter) \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/stage-brief.md b/zh-cn/application-dev/ability-deprecated/stage-brief.md deleted file mode 100644 index dce482dd1c..0000000000 --- a/zh-cn/application-dev/ability-deprecated/stage-brief.md +++ /dev/null @@ -1,122 +0,0 @@ -# Stage模型综述 - -## 设计思想 - -Stage模型的设计,是为了提供给开发者一个更好的开发方式,更好的适用于多设备、分布式场景。 - -Stage模型的设计思想如下图所示。 - -![stagedesign](figures/stagedesign.png) - -Stage模型的设计基于如下三个出发点: - -- **应用进程的有序管理** - -随着设备的内存越来越大,系统中同时运行的进程数量也越来越多。当数百个进程同时运行时,如果没有有效的管理措施,则系统整体的功耗和性能将无法得到保证。Stage模型中,通过短时任务、长时任务、托管任务和延迟任务四种方法对后台进程做了有序约束。这样做使得前台进程的资源得以保障,最终能获得更好的用户体验。 - -- **原生支持跨端迁移和多端协同** - -OpenHarmony是原生分布式的操作系统,应用框架需要从架构设计上使得组件更易于实现跨端迁移和多端协同。Stage模型通过Ability与UI分离及UI展示与服务能力合一等模型特性,实现这一设计目标。 - -- **支持多种设备的不同窗口形态** - -Stage模型重新定义了Ability的生命周期。系统在架构上,将应用组件管理服务和窗口管理服务进行了彼此解耦,这样做可以方便的针对特定设备进行适配,以实现出不同的窗口形态。 - -## 基本概念 - -下图展示了Stage模型中的基本概念。 - -![stageconcept](figures/stageconcept.png) - -- **HAP**:OpenHarmony应用编译、分发、加载的基本单位。与开发态的module一一对应。在应用内,moduleName是其唯一标识; -- **Bundle**:通过appid标识的OpenHarmony应用,Bundle可以包含多个HAP,每个应用都有一个bundleName,但是bundleName并不能唯一标识一个应用,appid中包含bundleName以及其他的更多信息,能够唯一标识一个应用; -- **AbilityStage**:对应HAP的运行期对象,在HAP首次加载到进程中时创建,运行期开发者可见; -- **Application**:对应Bundle的运行期对象,运行期开发者不可见; -- **Context**:提供运行期开发者可以调用的各种能力,Ability组件和各种ExtensionAbility都有各自不同的Context类,他们都继承自基类Context,基类提供Bundle名称、moduleName、路径等信息; -- **Ability**:提供生命周期回调,持有AbilityContext,支持组件的跨端迁移和多端协同; -- **ExtensionAbility**:基于场景的扩展能力统称,系统定义了多种场景的ExtensionAbility类,它们持有各自的ExtensionContext; -- **WindowStage**:本地窗口管理器; -- **Window**:应用窗口,持有一个ArkUI引擎实例; -- **ArkUI Page**:基于ArkUI开发的用户界面。 - - -## 生命周期 - -AbilityStage及Ability是关于应用生命周期的关键对象。 - -在[Ability框架概述](ability-brief.md)中,给出了FA模型与Stage模型的生命周期对比,因此这里仅对Ability生命周期切换以及和AbilityStage、WindowStage之间的调度关系进行介绍。 - -![stageabilitylifecyclecallback](figures/stageabilitylifecyclecallback.png) - -为了实现多设备形态上的适配和多窗口的扩展,OpenHarmony对组件管理和窗口管理进行了解耦。 - -Stage模型定义Ability组件的生命周期,只包含创建、销毁、前后台等状态,而将与界面强相关的获焦、失焦状态都放在WindowStage之中,从而实现Ability与窗口之间的弱耦合;在服务侧,窗口管理服务依赖于组件管理服务,前者通知后者前后台变化,这样组件管理服务仅感知前后台变化,不感知焦点变化。 - -需要注意的是,在Ability中存在两个与WindowStage相关的生命周期状态onWindowStageCreate和onWindowStageDestroy,这两个生命周期状态的变化仅存在于具有显示能力的设备中。前者表示WindowStage已经创建完成,开发者可以通过执行loadContent的操作设置Ability需要加载的页面;后者在WindowStage销毁后调用,以便开发者对资源进行释放。 - - -## Ability组件实例与任务 - -Ability组件有三种启动类型: - -* **Singleton**:应用进程中只存在一个该类型的Ability实例,如下图Ability1; -* **Standard**:每次startAbility调用,都会在应用进程中创建一个该类型的实例,如下图Ability2的两个实例; -* **Specified**:允许开发者在系统创建Ability实例之前,为该实例创建一个key,后续每次创建该类型的Ability实例都会询问应用使用哪个key对应的Ability实例,来响应startAbility请求,如下图Ability3。 - -每个Ability实例都对应了一个近期任务中的Mission(任务)。 - -每个Ability实例对应的Mission都留有该Ability实例的快照,Ability实例销毁后,Mission中会继续保留Ability的类的信息和快照,直到用户删除,或者超过存储上限。 - - ![AbilityComponentInstanceMission](figures/AbilityComponentInstanceMission.png) - -## ExtensionAbility机制 - -不同于页面展示的Ability,ExtensionAbility提供的是一种受限的运行环境。 - -ExtensionAbility组件具有如下特点: - -- 运行在独立于主进程的单独进程中,与主进程无IPC,但共享一个存储沙箱; - -- 独立的Context提供基于相应业务场景的API能力; - -- 由系统触发创建,应用不能直接创建; - -- ExtensionAbility和进程的生命周期受系统管理。 - -下图以卡片使用场景为例进行展示。系统提供了FormExtensionAbility基类,开发者通过派生提供卡片的具体信息。FormExtensionAbility实例及其所在的ExtensionAbility进程的整个生命周期,都是由系统服务FormManagerService进行管理。 - -![ExtensionAbility](figures/ExtensionAbility.png) - -## 进程模型 - -OpenHarmony系统对于应用进程是有强管控策略的。对于开发者来说,没有自行配置多进程的能力。应用的所有进程都是由系统创建和管理的。 - -每个应用的进程可以分为三类: - -- 主进程:运行UIAbility组件、页面和业务逻辑; - -- Extension进程:运行应用中的ExtensionAbility派生类,该进程由系统中的特定场景的服务管理其生命周期; - -- Render进程:专门为webview创建的进程,用于加载webview的渲染库。 - - 下图展示了应用的进程模型。 - - ![stageprocessmodel](figures/stageprocessmodel.png) - - - -## 应用包结构 - -Stage模型的应用包的工程目录结构,请参考[OpenHarmony工程介绍](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-project-overview-0000001218440650#section56487581904)。 - -对Stage模型的应用包结构的配置说明,请参考[应用包结构说明(Stage模型)](../quick-start/application-configuration-file-overview-stage.md)。 - - -## 相关实例 - -针对Stage模型下的Ability开发,有以下相关实例可供参考: - -- [`StageModel`:Stage模型(ArkTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/BasicFeature/ApplicationModels/StageModel) -- [`WindowExtAbility`:窗口扩展(ArkTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/WindowManagement/WindowExtAbility) -- [`MissionManager`:系统任务管理(ArkTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/ApplicationModels/MissionManager) -- [`Launcher`:仿桌面应用(ArkTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/ApplicationModels/Launcher) diff --git a/zh-cn/application-dev/ability-deprecated/stage-call.md b/zh-cn/application-dev/ability-deprecated/stage-call.md deleted file mode 100644 index f252a08ebe..0000000000 --- a/zh-cn/application-dev/ability-deprecated/stage-call.md +++ /dev/null @@ -1,286 +0,0 @@ -# Call调用开发指导 -## 场景介绍 -Call调用是Ability能力的扩展,它为Ability提供一种能够被外部调用并与外部进行通信的能力。Call调用支持前台与后台两种启动方式,使Ability既能被拉起到前台展示UI,也可以在后台被创建并运行。Call调用在调用方与被调用方间建立了IPC通信,因此应用开发者可通过Call调用实现不同Ability之间的数据共享。 - -Call调用的核心接口是startAbilityByCall方法,与startAbility接口的不同之处在于: - - startAbilityByCall支持前台与后台两种启动方式,而startAbility仅支持前台启动。 - - 调用方可使用startAbilityByCall所返回的Caller对象与被调用方进行通信,而startAbilty不具备通信能力。 - -Call调用的使用场景主要包括: -- 需要与被启动的Ability进行通信 -- 希望被启动的Ability在后台运行 - -**表1** Call调用相关名词解释 -|名词|描述| -|:------|:------| -|CallerAbility|指代进行Call调用的Ability(调用方)| -|CalleeAbility|指代被Call调用的Ability(被调用方)| -|Caller |实际对象,由startAbilityByCall接口所返回,CallerAbility可使用Caller与CalleeAbility进行通信,具体接口见表2| -|Callee |实际对象,被CalleeAbility持有,可与Caller进行通信| -|IPC |指代进程间通信| - -Call调用流程示意图如下: - - CallerAbility调用startAbilityByCall接口获取Caller,并使用Caller对象的call方法向CalleeAbility发送数据 - - CalleeAbility持有一个Callee对象,通过Callee的on方法注册回调函数,当接收到Caller发送的数据时将会调用对应的回调函数 -![stage-call](figures/stage-call.png) - -> **说明:** -> CalleeAbility的启动模式需要为单实例。 -> 当前仅支持系统应用使用Call调用。 - -## 接口说明 -Caller及Callee功能如下:具体的API详见[接口文档](../reference/apis/js-apis-app-ability-uiAbility.md#caller)。 - -**表2** Call API接口功能介绍 -|接口名|描述| -|:------|:------| -|startAbilityByCall(want: Want): Promise\|启动指定Ability并获取其Caller通信接口,默认为后台启动,通过配置want可实现前台启动,详见[接口文档](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartabilitybycall)。AbilityContext与ServiceExtensionContext均支持该接口。| -|on(method: string, callback: CalleeCallBack): void|通用组件Callee注册method对应的callback方法。| -|off(method: string): void|通用组件Callee解注册method的callback方法。| -|call(method: string, data: rpc.Sequenceable): Promise\|向通用组件Callee发送约定序列化数据。| -|callWithResult(method: string, data: rpc.Sequenceable): Promise\|向通用组件Callee发送约定序列化数据, 并将Callee返回的约定序列化数据带回。| -|release(): void|释放通用组件的Caller通信接口。| -|on(type: "release", callback: OnReleaseCallback): void|注册通用组件通信断开监听通知。| - -## 开发步骤 -Call调用的开发步骤: -- 创建Callee被调用端。 -- 访问Callee被调用端。 - -### 创建Callee被调用端 -Callee被调用端,需要实现指定方法的数据接收回调函数、数据的序列化及反序列化方法。在需要接收数据期间,通过on接口注册监听,无需接收数据时通过off接口解除监听。 -**1. 配置Ability的启动模式** - - 配置module.json5,将CalleeAbility配置为单实例"singleton"。 - -|Json字段|字段说明| -|:------|:------| -|"launchType"|Ability的启动模式,设置为"singleton"类型。 | - -Ability配置标签示例如下: -```json -"abilities":[{ - "name": ".CalleeAbility", - "srcEntry": "./ets/CalleeAbility/CalleeAbility.ts", - "launchType": "singleton", - "description": "$string:CalleeAbility_desc", - "icon": "$media:icon", - "label": "$string:CalleeAbility_label", - "exported": true -}] -``` -**2. 导入UIAbility模块** - -```ts -import UIAbility from '@ohos.app.ability.UIAbility'; -``` -**3. 定义约定的序列化数据** - - 调用端及被调用端发送接收的数据格式需协商一致,如下示例约定数据由number和string组成。具体示例代码如下: -```ts -export default class MySequenceable { - num: number = 0 - str: string = "" - - constructor(num, string) { - this.num = num - this.str = string - } - - marshalling(messageParcel) { - messageParcel.writeInt(this.num) - messageParcel.writeString(this.str) - return true - } - - unmarshalling(messageParcel) { - this.num = messageParcel.readInt() - this.str = messageParcel.readString() - return true - } -} -``` -**4. 实现Callee.on监听及Callee.off解除监听** - - 被调用端Callee的监听函数注册时机, 取决于应用开发者。注册监听之前的数据不会被处理,取消监听之后的数据不会被处理。如下示例在Ability的onCreate注册'MSG_SEND_METHOD'监听,在onDestroy取消监听,收到序列化数据后作相应处理并返回,应用开发者根据实际需要做相应处理。具体示例代码如下: -```ts -const TAG: string = '[CalleeAbility]' -const MSG_SEND_METHOD: string = 'CallSendMsg' - -function sendMsgCallback(data) { - console.log('CalleeSortFunc called') - - // 获取Caller发送的序列化数据 - let receivedData = new MySequenceable(0, '') - data.readSequenceable(receivedData) - console.log(`receiveData[${receivedData.num}, ${receivedData.str}]`) - - // 作相应处理 - // 返回序列化数据result给Caller - return new MySequenceable(receivedData.num + 1, `send ${receivedData.str} succeed`) -} - -export default class CalleeAbility extends Ability { - onCreate(want, launchParam) { - try { - this.callee.on(MSG_SEND_METHOD, sendMsgCallback) - } catch (error) { - console.log(`${MSG_SEND_METHOD} register failed with error ${JSON.stringify(error)}`) - } - } - - onDestroy() { - try { - this.callee.off(MSG_SEND_METHOD) - } catch (error) { - console.error(TAG, `${MSG_SEND_METHOD} unregister failed with error ${JSON.stringify(error)}`) - } - } -} -``` - -### 访问Callee被调用端 -**1. 导入Ability模块** -```ts -import UIAbility from '@ohos.app.ability.UIAbility'; -``` -**2. 获取Caller通信接口** - - Ability的context属性实现了startAbilityByCall方法,用于获取指定通用组件的Caller通信接口。如下示例通过`this.context`获取Ability实例的context属性,使用startAbilityByCall拉起Callee被调用端并获取Caller通信接口,注册Caller的onRelease监听。应用开发者根据实际需要做相应处理。具体示例代码如下: -```ts -// 注册caller的release监听 -private regOnRelease(caller) { - try { - caller.on("release", (msg) => { - console.log(`caller onRelease is called ${msg}`) - }) - console.log('caller register OnRelease succeed') - } catch (error) { - console.log(`caller register OnRelease failed with ${error}`) - } -} - -async onButtonGetCaller() { - try { - this.caller = await context.startAbilityByCall({ - bundleName: 'com.samples.CallApplication', - abilityName: 'CalleeAbility' - }) - if (this.caller === undefined) { - console.log('get caller failed') - return - } - console.log('get caller success') - this.regOnRelease(this.caller) - } catch (error) { - console.log(`get caller failed with ${error}`) - } -} -``` - 在跨设备场景下,需指定对端设备deviceId。具体示例代码如下: -```ts -async onButtonGetRemoteCaller() { - var caller = undefined - var context = this.context - - context.startAbilityByCall({ - deviceId: getRemoteDeviceId(), - bundleName: 'com.samples.CallApplication', - abilityName: 'CalleeAbility' - }).then((data) => { - if (data != null) { - caller = data - console.log('get remote caller success') - // 注册caller的release监听 - caller.on("release", (msg) => { - console.log(`remote caller onRelease is called ${msg}`) - }) - console.log('remote caller register OnRelease succeed') - } - }).catch((error) => { - console.error(`get remote caller failed with ${error}`) - }) -} -``` - 从DeviceManager获取指定设备的deviceId,getTrustedDeviceListSync接口仅对系统应用开放。具体示例代码如下: -```ts -import deviceManager from '@ohos.distributedHardware.deviceManager'; -var dmClass; -function getRemoteDeviceId() { - if (typeof dmClass === 'object' && dmClass != null) { - var list = dmClass.getTrustedDeviceListSync() - if (typeof (list) == 'undefined' || typeof (list.length) == 'undefined') { - console.log("EntryAbility onButtonClick getRemoteDeviceId err: list is null") - return - } - console.log("EntryAbility onButtonClick getRemoteDeviceId success:" + list[0].deviceId) - return list[0].deviceId - } else { - console.log("EntryAbility onButtonClick getRemoteDeviceId err: dmClass is null") - } -} -``` - 在跨设备场景下,需要向用户申请数据同步的权限。具体示例代码如下: -```ts -import abilityAccessCtrl from '@ohos.abilityAccessCtrl.d.ts'; - -requestPermission() { - let context = this.context - let permissions: Array = ['ohos.permission.DISTRIBUTED_DATASYNC'] - let atManager = abilityAccessCtrl.createAtManager(); - atManager.requestPermissionsFromUser(context, permissions).then((data) => { - console.log("Succeed to request permission from user with data: "+ JSON.stringify(data)) - }).catch((error) => { - console.log("Failed to request permission from user with error: "+ JSON.stringify(error)) - }) -} -``` -**3. 发送约定序列化数据** - - 向被调用端发送Sequenceable数据有两种方式,一种是不带返回值,一种是获取被调用端返回的数据,method以及序列化数据需要与被调用端协商一致。如下示例调用Call接口,向Callee被调用端发送数据。具体示例代码如下: -```ts -const MSG_SEND_METHOD: string = 'CallSendMsg' -async onButtonCall() { - try { - let msg = new MySequenceable(1, 'origin_Msg') - await this.caller.call(MSG_SEND_METHOD, msg) - } catch (error) { - console.log(`caller call failed with ${error}`) - } -} -``` - - 如下示例调用CallWithResult接口,向Callee被调用端发送待处理的数据`originMsg`,并将'CallSendMsg'方法处理完毕的数据赋值给`backMsg`。具体示例代码如下: -```ts -const MSG_SEND_METHOD: string = 'CallSendMsg' -originMsg: string = '' -backMsg: string = '' -async onButtonCallWithResult(originMsg, backMsg) { - try { - let msg = new MySequenceable(1, originMsg) - const data = await this.caller.callWithResult(MSG_SEND_METHOD, msg) - console.log('caller callWithResult succeed') - - let result = new MySequenceable(0, '') - data.readSequenceable(result) - backMsg(result.str) - console.log(`caller result is [${result.num}, ${result.str}]`) - } catch (error) { - console.log(`caller callWithResult failed with ${error}`) - } -} -``` -**4. 释放Caller通信接口** - - Caller不再使用后,应用开发者可以通过release接口释放Caller。具体示例代码如下: -```ts -releaseCall() { - try { - this.caller.release() - this.caller = undefined - console.log('caller release succeed') - } catch (error) { - console.log(`caller release failed with ${error}`) - } -} -``` \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/stage-formextension.md b/zh-cn/application-dev/ability-deprecated/stage-formextension.md deleted file mode 100644 index 7d2d821abd..0000000000 --- a/zh-cn/application-dev/ability-deprecated/stage-formextension.md +++ /dev/null @@ -1,417 +0,0 @@ -# Stage卡片开发指导 - -## 卡片概述 - -卡片是一种界面展示形式,可以将应用的重要信息或操作前置到卡片,以达到服务直达,减少体验层级的目的。 - -卡片常用于嵌入到其他应用(当前只支持系统应用)中作为其界面的一部分显示,并支持拉起页面,发送消息等基础的交互功能。卡片使用方负责显示卡片。 - -卡片的基本概念: - -- 卡片提供方:提供卡片显示内容原子化服务,控制卡片的显示内容、控件布局以及控件点击事件。 -- 卡片使用方:显示卡片内容的宿主应用,控制卡片在宿主中展示的位置。 -- 卡片管理服务:用于管理系统中所添加卡片的常驻代理服务,包括卡片对象的管理与使用,以及卡片周期性刷新等。 - -> **说明:** -> 卡片使用方和提供方不要求常驻运行,在需要添加/删除/请求更新卡片时,卡片管理服务会拉起卡片提供方获取卡片信息。 - -开发者仅需作为卡片提供方进行卡片内容的开发,卡片使用方和卡片管理服务由系统自动处理。 - -卡片提供方控制卡片实际显示的内容、控件布局以及点击事件。 - -## 场景介绍 - -Stage卡片开发,即基于[Stage模型](stage-brief.md)的卡片提供方开发,主要涉及如下功能逻辑: - -- 卡片生命周期回调函数FormExtension开发。 -- 创建卡片数据FormBindingData对象。 -- 通过FormProvider更新卡片。 -- 卡片页面开发。 - -## 接口说明 - -FormExtension类拥有如下API接口,具体的API介绍详见[接口文档](../reference/apis/js-apis-app-form-formExtensionAbility.md)。 - -**表1** FormExtension API接口功能介绍 - -| 接口名 | 描述 | -| :----------------------------------------------------------- | :------------------------------------------- | -| onCreate(want: Want): formBindingData.FormBindingData | 卡片提供方接收创建卡片的通知接口。 | -| onCastToNormal(formId: string): void | 卡片提供方接收临时卡片转常态卡片的通知接口。 | -| onUpdate(formId: string): void | 卡片提供方接收更新卡片的通知接口。 | -| onVisibilityChange(newStatus: { [key: string]: number }): void | 卡片提供方接收修改可见性的通知接口。 | -| onEvent(formId: string, message: string): void | 卡片提供方接收处理卡片事件的通知接口。 | -| onDestroy(formId: string): void | 卡片提供方接收销毁卡片的通知接口。 | -| onConfigurationUpdated(config: Configuration): void; | 当系统配置更新时调用。 | - -FormExtension类还拥有成员context,为FormExtensionContext类,具体的API介绍详见[接口文档](../reference/apis/js-apis-inner-application-formExtensionContext.md)。 - -**表2** FormExtensionContext API接口功能介绍 - -| 接口名 | 描述 | -| :----------------------------------------------------------- | :----------------------------------------------------------- | -| startAbility(want: Want, callback: AsyncCallback<void>): void | 回调形式拉起一个卡片所属应用的Ability(系统接口,三方应用不支持调用)。 | -| startAbility(want: Want): Promise<void> | Promise形式拉起一个卡片所属应用的Ability(系统接口,三方应用不支持调用)。 | - -FormProvider类具体的API介绍详见[接口文档](../reference/apis/js-apis-application-formProvider.md)。 - -**表3** FormProvider API接口功能介绍 - -| 接口名 | 描述 | -| :----------------------------------------------------------- | :------------------------------------------------ | -| setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback<void>): void; | 设置指定卡片的下一次更新时间。 | -| setFormNextRefreshTime(formId: string, minute: number): Promise<void>; | 设置指定卡片的下一次更新时间,以promise方式返回。 | -| updateForm(formId: string, formBindingData: FormBindingData, callback: AsyncCallback<void>): void; | 更新指定的卡片。 | -| updateForm(formId: string, formBindingData: FormBindingData): Promise<void>; | 更新指定的卡片,以promise方式返回。 | - -## 开发步骤 - -### 创建卡片FormExtension - -创建Stage模型的卡片,需实现FormExtension生命周期接口。具体示例代码如下: - -1. 导入相关模块 - - ```javascript - import FormExtension from '@ohos.app.ability.FormExtension'; - import formBindingData from '@ohos.app.form.formBindingData'; - import formInfo from '@ohos.app.form.formInfo'; - import formProvider from '@ohos.app.form.formProvider'; - ``` - -2. 实现FormExtension生命周期接口 - - ```javascript - export default class FormAbility extends FormExtension { - onCreate(want) { - console.log('FormAbility onCreate'); - // 由开发人员自行实现,将创建的卡片信息持久化,以便在下次获取/更新该卡片实例时进行使用 - let obj = { - "title": "titleOnCreate", - "detail": "detailOnCreate" - }; - let formData = formBindingData.createFormBindingData(obj); - return formData; - } - onCastToNormal(formId) { - // 使用方将临时卡片转换为常态卡片触发,提供方需要做相应的处理 - console.log('FormAbility onCastToNormal'); - } - onUpdate(formId) { - // 若卡片支持定时更新/定点更新/卡片使用方主动请求更新功能,则提供方需要重写该方法以支持数据更新 - console.log('FormAbility onUpdate'); - let obj = { - "title": "titleOnUpdate", - "detail": "detailOnUpdate" - }; - let formData = formBindingData.createFormBindingData(obj); - formProvider.updateForm(formId, formData).catch((error) => { - console.log('FormAbility updateForm, error:' + JSON.stringify(error)); - }); - } - onVisibilityChange(newStatus) { - // 使用方发起可见或者不可见通知触发,提供方需要做相应的处理 - console.log('FormAbility onVisibilityChange'); - } - onEvent(formId, message) { - // 若卡片支持触发事件,则需要重写该方法并实现对事件的触发 - console.log('FormAbility onEvent'); - } - onDestroy(formId) { - // 删除卡片实例数据 - console.log('FormAbility onDestroy'); - } - onConfigurationUpdated(config) { - console.log('FormAbility onConfigurationUpdated, config:' + JSON.stringify(config)); - } - } - ``` - -### 配置卡片配置文件 - -- 卡片需要在应用配置文件module.json5中的extensionAbilities标签下,配置ExtensionAbility相关信息,内部字段结构说明: - - | 属性名称 | 含义 | 数据类型 | 是否可缺省 | - | ----------- | ------------------------------------------------------------ | ---------- | -------------------- | - | name | 表示ExtensionAbility的名字,该标签不可缺省。 | 字符串 | 否 | - | srcEntry | 表示ExtensionAbility所对应的生命周期代码的路径,该标签不可缺省。 | 字符串 | 否 | - | description | 表示ExtensionAbility的描述。可以是表示描述内容的字符串,也可以是对描述内容的资源索引以支持多语言。 | 字符串 | 可缺省,缺省值为空。 | - | icon | 表示ExtensionAbility的图标资源文件的索引。 | 字符串 | 可缺省,缺省值为空。 | - | label | 表示ExtensionAbility的标签信息,即ExtensionAbility对外显示的文字描述信息。取值可以是描述性内容,也可以是标识label的资源索引。 | 字符串 | 可缺省,缺省值为空。 | - | type | 表示ExtensionAbility的类型,对于当前FormExtensionAbility的开发,需要将其配置为form。 | 字符串 | 否 | - | permissions | 表示其他应用的Ability调用此Ability时需要申请的权限。 | 字符串数组 | 可缺省,缺省值为空。 | - | metadata | 表示ExtensionAbility的元信息,用于描述ExtensionAbility的配置信息。 | 对象 | 可缺省,缺省值为空 | - - 对于FormExtensionAbility来说,需要填写metadata元信息标签,其中键名称为固定字符串"ohos.extension.form",资源为卡片的具体配置信息的索引。 - - 配置示例如下: - - ```json - "extensionAbilities": [{ - "name": "FormAbility", - "srcEntry": "./ets/FormAbility/FormAbility.ts", - "label": "$string:form_FormAbility_label", - "description": "$string:form_FormAbility_desc", - "type": "form", - "metadata": [{ - "name": "ohos.extension.form", - "resource": "$profile:form_config" - }] - }] - ``` - -- 卡片的具体配置信息。在上述 FormExtensionAbility 的元信息中,指定了的卡片具体配置信息的资源索引,如使用 $profile:form_config 指定开发视图的 resources/base/profile/ 目录下的 form_config.json 作为卡片profile配置文件。 - - 内部字段结构说明: - - | 属性名称 | 含义 | 数据类型 | 是否可缺省 | - | ------------------- | ------------------------------------------------------------ | ---------- | ------------------------ | - | name | 表示卡片的类名,字符串最大长度为127字节。 | 字符串 | 否 | - | description | 表示卡片的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。字符串最大长度为255字节。 | 字符串 | 可缺省,缺省为空。 | - | src | 表示卡片对应的UI代码的完整路径。 | 字符串 | 否 | - | window | 用于定义与显示窗口相关的配置。 | 对象 | 可缺省 | - | isDefault | 表示该卡片是否为默认卡片,每个Ability有且只有一个默认卡片。
true:默认卡片。
false:非默认卡片。 | 布尔值 | 否 | - | colorMode | 表示卡片的主题样式,取值范围如下:
auto:自适应。
dark:深色主题。
light:浅色主题。 | 字符串 | 可缺省,缺省值为“auto”。 | - | supportDimensions | 表示卡片支持的外观规格,取值范围:
1 * 2:表示1行2列的二宫格。
2 * 2:表示2行2列的四宫格。
2 * 4:表示2行4列的八宫格。
4 * 4:表示4行4列的十六宫格。 | 字符串数组 | 否 | - | defaultDimension | 表示卡片的默认外观规格,取值必须在该卡片supportDimensions配置的列表中。 | 字符串 | 否 | - | updateEnabled | 表示卡片是否支持周期性刷新,取值范围:
true:表示支持周期性刷新,可以在定时刷新(updateDuration)和定点刷新(scheduledUpdateTime)两种方式任选其一,优先选择定时刷新。
false:表示不支持周期性刷新。 | 布尔类型 | 否 | - | scheduledUpdateTime | 表示卡片的定点刷新的时刻,采用24小时制,精确到分钟。
updateDuration参数优先级高于scheduledUpdateTime,两者同时配置时,以updateDuration配置的刷新时间为准。 | 字符串 | 可缺省,缺省值为“0:0”。 | - | updateDuration | 表示卡片定时刷新的更新周期,单位为30分钟,取值为自然数。
当取值为0时,表示该参数不生效。
当取值为正整数N时,表示刷新周期为30*N分钟。
updateDuration参数优先级高于scheduledUpdateTime,两者同时配置时,以updateDuration配置的刷新时间为准。 | 数值 | 可缺省,缺省值为“0”。 | - | formConfigAbility | 表示卡片的配置跳转链接,采用URI格式。 | 字符串 | 可缺省,缺省值为空。 | - | formVisibleNotify | 标识是否允许卡片使用卡片可见性通知。 | 字符串 | 可缺省,缺省值为空。 | - | metaData | 表示卡片的自定义信息,包含customizeData数组标签。 | 对象 | 可缺省,缺省值为空。 | - - 配置示例如下: - - ```json - { - "forms": [{ - "name": "widget", - "description": "This is a service widget.", - "src": "./js/widget/pages/index/index", - "window": { - "autoDesignWidth": true, - "designWidth": 720 - }, - "isDefault": true, - "colorMode": "auto", - "supportDimensions": ["2*2"], - "defaultDimension": "2*2", - "updateEnabled": true, - "scheduledUpdateTime": "10:30", - "formConfigAbility": "ability://ohos.samples.FormApplication.EntryAbility" - }] - } - ``` - - -### 卡片信息的持久化 - -因大部分卡片提供方都不是常驻服务,只有在需要使用时才会被拉起获取卡片信息,且卡片管理服务支持对卡片进行多实例管理,卡片ID对应实例ID,因此若卡片提供方支持对卡片数据进行配置,则需要对卡片的业务数据按照卡片ID进行持久化管理,以便在后续获取、更新以及拉起时能获取到正确的卡片业务数据。 - -```javascript - onCreate(want) { - console.log('FormAbility onCreate'); - - let formId = want.parameters["ohos.extra.param.key.form_identity"]; - let formName = want.parameters["ohos.extra.param.key.form_name"]; - let tempFlag = want.parameters["ohos.extra.param.key.form_temporary"]; - // 由开发人员自行实现,将创建的卡片信息持久化,以便在下次获取/更新该卡片实例时进行使用 - // storeFormInfo 接口未在此处实现,具体实现请参考:相关实例 章节中的 FormExtAbility Stage模型卡片 实例 - storeFormInfo(formId, formName, tempFlag, want); - - let obj = { - "title": "titleOnCreate", - "detail": "detailOnCreate" - }; - let formData = formBindingData.createFormBindingData(obj); - return formData; - } -``` - -且需要适配onDestroy卡片删除通知接口,在其中实现卡片实例数据的删除。 - -```javascript - onDestroy(formId) { - console.log('FormAbility onDestroy'); - - // 由开发人员自行实现,删除之前持久化的卡片实例数据 - // deleteFormInfo 接口未在此处实现,具体实现请参考:相关实例 章节中的 FormExtAbility Stage模型卡片 实例 - deleteFormInfo(formId); - } -``` - -具体的持久化方法可以参考[应用数据持久化概述](../database/app-data-persistence-overview.md)。 - -需要注意的是,卡片使用方在请求卡片时传递给提供方应用的Want数据中存在临时标记字段,表示此次请求的卡片是否为临时卡片: - -- 常态卡片:卡片使用方会持久化的卡片; - -- 临时卡片:卡片使用方不会持久化的卡片; - -由于临时卡片的数据具有非持久化的特殊性,某些场景比如卡片服务框架死亡重启,此时临时卡片数据在卡片管理服务中已经删除,且对应的卡片ID不会通知到提供方,所以卡片提供方需要自己负责清理长时间未删除的临时卡片数据。同时对应的卡片使用方可能会将之前请求的临时卡片转换为常态卡片。如果转换成功,卡片提供方也需要对对应的临时卡片ID进行处理,把卡片提供方记录的临时卡片数据转换为常态卡片数据,防止提供方在清理长时间未删除的临时卡片时,把已经转换为常态卡片的临时卡片信息删除,导致卡片信息丢失。 - -### 卡片数据交互 - -当卡片应用需要更新数据时(如触发了定时更新或定点更新),卡片应用获取最新数据,并调用updateForm接口更新卡片。示例如下: - -```javascript -onUpdate(formId) { - // 若卡片支持定时更新/定点更新/卡片使用方主动请求更新功能,则提供方需要重写该方法以支持数据更新 - console.log('FormAbility onUpdate'); - let obj = { - "title": "titleOnUpdate", - "detail": "detailOnUpdate" - }; - let formData = formBindingData.createFormBindingData(obj); - // 调用updateForm接口去更新对应的卡片,仅更新入参中携带的数据信息,其他信息保持不变 - formProvider.updateForm(formId, formData).catch((error) => { - console.log('FormAbility updateForm, error:' + JSON.stringify(error)); - }); -} -``` - -### 开发卡片页面 - -开发者可以使用hml+css+json开发JS卡片页面: - -> **说明:** -> 当前仅支持JS扩展的类Web开发范式来实现卡片的UI页面。 - - - hml: - ```html -

- ``` - - - css: - - ```css -.container { - flex-direction: column; - justify-content: center; - align-items: center; -} - -.bg-img { - flex-shrink: 0; - height: 100%; -} - -.container-inner { - flex-direction: column; - justify-content: flex-end; - align-items: flex-start; - height: 100%; - width: 100%; - padding: 12px; -} - -.title { - font-size: 19px; - font-weight: bold; - color: white; - text-overflow: ellipsis; - max-lines: 1; -} - -.detail_text { - font-size: 16px; - color: white; - opacity: 0.66; - text-overflow: ellipsis; - max-lines: 1; - margin-top: 6px; -} - ``` - - - json: - ```json - { - "data": { - "title": "TitleDefault", - "detail": "TextDefault" - }, - "actions": { - "routerEvent": { - "action": "router", - "abilityName": "EntryAbility", - "params": { - "message": "add detail" - } - } - } - } - ``` - -最终可以得到如下卡片: - -![fa-form-example](figures/fa-form-example.png) - -### 开发卡片事件 - -卡片支持为组件设置action,包括router事件和message事件,其中router事件用于Ability跳转,message事件用于卡片开发人员自定义点击事件。关键步骤说明如下: - -1. 在hml中为组件设置onclick属性,其值对应到json文件的actions字段中。 -2. 若设置router事件,则 - - action属性值为"router"; - - abilityName为跳转目标的Ability名,如目前DevEco创建的Stage模型的UIAbility默认名为EntryAbility; - - params为跳转目标Ability的自定义参数,可以按需填写。其值可以在目标Ability启动时的want中的parameters里获取。如Stage模型EntryAbility的onCreate生命周期里的入参want的parameters字段下获取到配置的参数; -3. 若设置message事件,则 - - action属性值为"message"; - - params为message事件的用户自定义参数,可以按需填写。其值可以在卡片生命周期函数onEvent中的message里获取; - -示例如下: - - - hml: - ```html -
- -
- -
-
- {{title}} - {{detail}} -
-
-
- ``` - - - json: - ```json - { - "data": { - "title": "TitleDefault", - "detail": "TextDefault" - }, - "actions": { - "routerEvent": { - "action": "router", - "abilityName": "EntryAbility", - "params": { - "message": "add detail" - } - }, - "messageEvent": { - "action": "message", - "params": { - "message": "add detail" - } - } - } - } - ``` -## 相关实例 - -针对Stage模型卡片提供方的开发,有以下相关实例可供参考: -- [`FormExtAbility`:Stage模型卡片(ArkTS)(API9)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SuperFeature/Widget/FormExtAbility) \ No newline at end of file diff --git a/zh-cn/application-dev/ability-deprecated/stage-serviceextension.md b/zh-cn/application-dev/ability-deprecated/stage-serviceextension.md deleted file mode 100644 index 886e91f0bc..0000000000 --- a/zh-cn/application-dev/ability-deprecated/stage-serviceextension.md +++ /dev/null @@ -1,80 +0,0 @@ -# ServiceExtensionAbility开发指导 - -## 场景介绍 -ExtensionAbility,是Stage模型中新增的扩展组件的基类,一般用于处理无界面的任务,生命周期较简单,没有前后台生命周期。ServiceExtensionAbility是ExtensionAbility的扩展类。 - -开发者可以自定义类继承ServiceExtensionAbility,通过重写基类中相关生命周期方法,来做初始化、连接中、断开连接时相关业务逻辑操作。 - -## 接口说明 - -**表1** ServiceExtensionAbility中相关生命周期API功能介绍 -|接口名|描述| -|:------|:------| -|onCreate(want: Want): void|首次调用startAbility、connectAbility时触发,开发者可以进行初始化操作。| -|onRequest(want: Want, startId: number): void|每次调用startAbility都会触发,首次调用时startId为1,重复调用startAbility递增。| -|onConnect(want: Want): rpc.RemoteObject|调用connectAbility触发,重复调用不会再次触发,除非调用disconnectAbility解除绑定后再调用;onConnect返回一个进程通信类RemoteObject。| -|onDisconnect(want: Want): void|调用disconnectAbility触发,Extension如果是用connectAbility拉起的,并且已经没有其他应用绑定这个Extension,则会触发onDestroy生命周期销毁组件。| -|onDestroy(): void|调用停止当前ability接口terminateSelf会触发。| - - -## 约束与限制 - -OpenHarmony当前不支持三方应用创建ServiceExtensionAbility。 - - -## 开发步骤 - -1. 需要在应用配置文件module.json5中进行注册,注册类型type需要设置为service。module.json5配置样例如下所示: - - - ```json - "extensionAbilities":[{ - "name": "ServiceExtAbility", - "icon": "$media:icon", - "description": "service", - "type": "service", - "exported": true, - "srcEntry": "./ets/ServiceExtAbility/ServiceExtAbility.ts" - }] - ``` - - -2. 开发者在定义Service的目录下创建TS文件,自定义类继承ServiceExtensionAbility,重写基类回调函数,接口生成的默认相对路径:entry\src\main\ets\ServiceExtAbility\ServiceExtAbility.ts,示例如下: - - ```js - import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility'; - import rpc from '@ohos.rpc'; - - class StubTest extends rpc.RemoteObject { - constructor(des) { - super(des); - } - onRemoteRequest(code, data, reply, option) { - } - } - - class ServiceExtAbility extends ServiceExtensionAbility { - onCreate(want) { - console.log('onCreate, want:' + want.abilityName); - } - onRequest(want, startId) { - console.log('onRequest, want:' + want.abilityName); - } - onConnect(want) { - console.log('onConnect , want:' + want.abilityName); - return new StubTest("test"); - } - onDisconnect(want) { - console.log('onDisconnect, want:' + want.abilityName); - } - onDestroy() { - console.log('onDestroy'); - } - } - ``` -## 相关实例 - -针对ServiceExtensionAbility开发,有以下相关实例可供参考: - -- [`AbilityConnectServiceExtension`:Ability与ServiceExtensionAbility通信(ArkTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/BasicFeature/IDL/AbilityConnectServiceExtension) -- [`StageModel`:Stage模型(ArkTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/BasicFeature/ApplicationModels/StageModel) diff --git a/zh-cn/application-dev/ability-deprecated/wantagent.md b/zh-cn/application-dev/ability-deprecated/wantagent.md deleted file mode 100644 index 10a59ef84f..0000000000 --- a/zh-cn/application-dev/ability-deprecated/wantagent.md +++ /dev/null @@ -1,88 +0,0 @@ -# WantAgent开发指导 -## 场景简介 -WantAgent封装了一个行为意图信息,可以通过WantAgent.trigger接口主动触发,也可以通过与通知绑定被动触发。 - -具体的行为包括:启动Ability和发布公共事件。 - -## 接口说明 -| 接口名 | 接口描述 | -| ---------------------------------------------------------------------------------------------- | ----------- | -| getWantAgentInfo(info: WantAgentInfo, callback: AsyncCallback\) | 以异步回调形式创建WantAgent对象。 | -| getWantAgent(info: WantAgentInfo): Promise\ | 以Promise形式创建WantAgent对象。 | -| trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\) | 触发WantAgent。 | - -## 开发步骤 -1. 导入WantAgent模块。 - - ```ts - import wantAgent from '@ohos.app.ability.wantAgent'; - ``` - -2. 创建拉起Ability的WantAgentInfo信息。详细的WantAgentInfo信息数据类型及包含的参数请见[WantAgentInfo文档](../reference/apis/js-apis-wantAgent.md#wantagentinfo)介绍。 - - ```ts - private wantAgentObj = null // 用于保存创建成功的wantAgent对象,后续使用其完成触发的动作。 - - // wantAgentInfo - var wantAgentInfo = { - wants: [ - { - deviceId: "", - bundleName: "com.example.test", - abilityName: "com.example.test.EntryAbility", - action: "", - entities: [], - uri: "", - parameters: {} - } - ], - operationType: wantAgent.OperationType.START_ABILITY, - requestCode: 0, - wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG] - } - ``` - -3. 创建发布公共事件的WantAgentInfo信息。 - - ```ts - private wantAgentObj = null // 用于保存创建成功的WantAgent对象,后续使用其完成触发的动作。 - - // wantAgentInfo - var wantAgentInfo = { - wants: [ - { - action: "event_name", // 设置事件名。 - parameters: {} - } - ], - operationType: wantAgent.OperationType.SEND_COMMON_EVENT, - requestCode: 0, - wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG] - } - ``` - -4. 创建WantAgent,保存返回的WantAgent对象wantAgentObj,用于执行后续触发操作。 - - ```ts - // 创建WantAgent - wantAgent.getWantAgent(wantAgentInfo, (err, wantAgentObj) => { - if (err.code) { - console.error("[WantAgent]getWantAgent err=" + JSON.stringify(err)) - } else { - console.log("[WantAgent]getWantAgent success") - this.wantAgentObj = wantAgentObj - } - }) - ``` - -5. 触发WantAgent。 - - ```ts - // 触发WantAgent。 - var triggerInfo = { - code:0 - } - wantAgent.trigger(wantAgentObj, triggerInfo, (completeData) => { - console.log("[WantAgent]getWantAgent success, completeData: ", + JSON.stringify(completeData)) - }) - ``` -- GitLab