diff --git a/zh-cn/application-dev/application-models/Readme-CN.md b/zh-cn/application-dev/application-models/Readme-CN.md index 4997448394fcbe3156e500f41d8186ef0a8d6a01..cff971e2fde4ca9753430f717c52151118b0a126 100644 --- a/zh-cn/application-dev/application-models/Readme-CN.md +++ b/zh-cn/application-dev/application-models/Readme-CN.md @@ -20,7 +20,7 @@ - [AccessibilityExtensionAbility](accessibilityextensionability.md) - [EnterpriseAdminExtensionAbility](enterprise-extensionAbility.md) - [InputMethodExtensionAbility](inputmethodextentionability.md) - - [WindowExtensionAbility](windowextensionability.md) + - [WindowExtensionAbility(仅对系统应用开放)](windowextensionability.md) - 服务卡片开发指导(Stage模型) - [服务卡片概述](service-widget-overview.md) - 开发基于ArkTS UI的卡片 @@ -73,6 +73,7 @@ - [静态订阅公共事件(仅对系统应用开放)](common-event-static-subscription.md) - [取消动态订阅公共事件](common-event-unsubscription.md) - [公共事件发布](common-event-publish.md) + - [移除粘性公共事件(仅对系统应用开放)](common-event-remove-sticky.md) - [后台服务](background-services.md) - 了解线程模型 - [线程模型概述](thread-model-stage.md) diff --git a/zh-cn/application-dev/application-models/application-component-configuration-stage.md b/zh-cn/application-dev/application-models/application-component-configuration-stage.md index 8daf20b110b3b1bedcea6779d129d0129eff3e80..dcea435f3b27aa3df0e37fdca4892a81a763a72d 100644 --- a/zh-cn/application-dev/application-models/application-component-configuration-stage.md +++ b/zh-cn/application-dev/application-models/application-component-configuration-stage.md @@ -88,7 +88,7 @@ **图2** 应用的详情页示意图 ![应用的详情页例图](figures/application_details.jpg) - + - **应用版本声明配置** 应用版本声明需要在工程的AppScope目录下的[app.json5配置文件](../quick-start/app-configuration-file.md)中配置versionCode标签和versionName标签。versionCode用于标识应用的版本号,该标签值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。versionName标签标识版本号的文字描述。 diff --git a/zh-cn/application-dev/application-models/hop-cross-device-migration.md b/zh-cn/application-dev/application-models/hop-cross-device-migration.md index ae9eb5bd2f164f527441958c57ddb6544e02061a..a7b82f117b886ab995e22cfb90c10d4a912f9c39 100644 --- a/zh-cn/application-dev/application-models/hop-cross-device-migration.md +++ b/zh-cn/application-dev/application-models/hop-cross-device-migration.md @@ -16,7 +16,7 @@ 跨端迁移流程如下图所示。 - **图1** 跨端迁移流程图   +**图1** 跨端迁移流程图 ![hop-cross-device-migration](figures/hop-cross-device-migration.png) @@ -47,60 +47,38 @@ ## 开发步骤 -1. 在module.json5配置数据同步权限,示例代码如下。 - +1. 需要申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参见[配置文件权限声明](../security/accesstoken-guidelines.md#配置文件权限声明)。 + +2. 同时需要在应用首次启动时弹窗向用户申请授权,使用方式请参见[向用户申请授权](../security/accesstoken-guidelines.md#向用户申请授权)。 + +3. 在配置文件中配置跨端迁移相关标签字段。 + + 配置应用支持迁移 + 在module.json5中配置continuable标签:true表示支持迁移,false表示不支持,默认为false。配置为false的UIAbility将被系统识别为无法迁移。 + + ```json { "module": { - "requestPermissions":[ - { - "name" : "ohos.permission.DISTRIBUTED_DATASYNC", + ... + "abilities": [ + { + ... + "continuable": true, } ] } } ``` -2. 在配置文件中配置跨端迁移相关标签字段。 - - 配置应用支持迁移 - 在module.json5中配置continuable标签:true表示支持迁移,false表示不支持,默认为false。配置为false的UIAbility将被系统识别为无法迁移。 - - - ```json - { - "module": { - // ... - "abilities": [ - { - // ... - "continuable": true, - } - ] - } - } - ``` - - 根据需要配置应用启动模式类型,配置详情请参照[UIAbility组件启动模式](uiability-launch-type.md)。 - -3. 申请数据同步权限,弹框示例代码。 - - ```ts - requestPermission() { - let context = this.context - let permissions: Array = ['ohos.permission.DISTRIBUTED_DATASYNC'] - context.requestPermissionsFromUser(permissions).then((data) => { - console.info("Succeed to request permission from user with data: "+ JSON.stringify(data)) - }).catch((error) => { - console.info("Failed to request permission from user with error: "+ JSON.stringify(error)) - }) - } - ``` + 根据需要配置应用启动模式类型,配置详情请参照[UIAbility组件启动模式](uiability-launch-type.md)。 4. 在发起端UIAbility中实现[onContinue()](../reference/apis/js-apis-app-ability-uiAbility.md#abilityoncontinue)接口。 - 当应用触发迁移时,[onContinue()](../reference/apis/js-apis-app-ability-uiAbility.md#abilityoncontinue)接口在发起端被调用,开发者可以在该接口中保存迁移数据,实现应用兼容性检测,决定是否支持此次迁移。 + 当应用触发迁移时,[onContinue()](../reference/apis/js-apis-app-ability-uiAbility.md#abilityoncontinue)接口在发起端被调用,开发者可以在该接口中保存迁移数据,实现应用兼容性检测,决定是否支持此次迁移。 - 保存迁移数据:开发者可以将要迁移的数据通过键值对的方式保存在wantParam中。 - + - 应用兼容性检测:开发者可以通过从wantParam中获取目标应用的版本号与本应用版本号做兼容性校验。 - + - 迁移决策:开发者可以通过onContinue接口的返回值决定是否支持此次迁移,返回值信息见[接口说明](#接口说明)。 示例如下: diff --git a/zh-cn/application-dev/application-models/inputmethodextentionability.md b/zh-cn/application-dev/application-models/inputmethodextentionability.md index 3350ac24a73225a2dfe7a38dcf2d3b845d13efc6..c5be91b31631b8fae7aa731ce7c0823dc4ff5af9 100644 --- a/zh-cn/application-dev/application-models/inputmethodextentionability.md +++ b/zh-cn/application-dev/application-models/inputmethodextentionability.md @@ -16,6 +16,7 @@ 服务被首次创建时触发该回调,开发者可以在此进行一些初始化的操作,例如注册公共事件监听等。 > **说明:** + > > 如果服务已创建,再次启动该InputMethodExtensionAbility不会触发onCreate()回调。 - **onDestroy** @@ -343,7 +344,7 @@ ```ts { "module": { - // ... + ... "extensionAbilities": [ { "description": "inputMethod", diff --git a/zh-cn/application-dev/application-models/itc-with-worker.md b/zh-cn/application-dev/application-models/itc-with-worker.md index 994e3734307372051c32a2bae272bcb8b2977424..912654e0fdf29d5f472d588ca24c947b1cb58a93 100644 --- a/zh-cn/application-dev/application-models/itc-with-worker.md +++ b/zh-cn/application-dev/application-models/itc-with-worker.md @@ -10,13 +10,13 @@ Worker的开发步骤如下: 1. 在工程的[模块级build-profile.json5](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-building-configuration-0000001218440654#section6887184182020)文件的buildOption属性中添加配置信息。 ```ts - "buildOption": { - "sourceOption": { - "workers": [ - "./src/main/ets/workers/worker.ts" - ] - } + "buildOption": { + "sourceOption": { + "workers": [ + "./src/main/ets/workers/worker.ts" + ] } + } ``` 2. 根据build-profile.json5中的配置创建对应的worker.ts文件。 @@ -28,9 +28,9 @@ Worker的开发步骤如下: // 处理来自主线程的消息 parent.onmessage = function(message) { - console.info("onmessage: " + message) - // 发送消息到主线程 - parent.postMessage("message from worker thread.") + console.info("onmessage: " + message) + // 发送消息到主线程 + parent.postMessage("message from worker thread.") } ``` @@ -47,10 +47,10 @@ Worker的开发步骤如下: // 处理来自worker线程的消息 wk.onmessage = function(message) { - console.info("message from worker: " + message) + console.info("message from worker: " + message) - // 根据业务按需停止worker线程 - wk.terminate() + // 根据业务按需停止worker线程 + wk.terminate(); } ``` @@ -58,23 +58,22 @@ Worker的开发步骤如下: ```ts import worker from '@ohos.worker'; - + let wk = new worker.ThreadWorker("../workers/worker.ts"); - + // 发送消息到worker线程 wk.postMessage("message from main thread.") - + // 处理来自worker线程的消息 wk.onmessage = function(message) { - console.info("message from worker: " + message) - - // 根据业务按需停止worker线程 - wk.terminate() + console.info("message from worker: " + message) + + // 根据业务按需停止worker线程 + wk.terminate(); } ``` -**说明:** - -- build-profile.json5中配置的worker.ts的相对路径都为`./src/main/ets/workers/worker.ts`时,在Stage模型下创建worker需要传入路径`entry/ets/workers/worker.ts`;在FA模型下创建worker需要传入路径`../workers/worker.ts`。 - -- 主线程与Worker线程间支持的数据类型参考[序列化支持类型](../reference/apis/js-apis-worker.md#序列化支持类型)。 +> **说明:** +> +> - build-profile.json5中配置的worker.ts的相对路径都为`./src/main/ets/workers/worker.ts`时,在Stage模型下创建worker需要传入路径`entry/ets/workers/worker.ts`;在FA模型下创建worker需要传入路径`../workers/worker.ts`。 +> - 主线程与Worker线程间支持的数据类型参考[序列化支持类型](../reference/apis/js-apis-worker.md#序列化支持类型)。