提交 57711b38 编写于 作者: zyjhandsome's avatar zyjhandsome

优化部分描述,以及针对部分仅系统应用可用的场景标题增加显性标识

Signed-off-by: zyjhandsome's avatarzyjhandsome <zyjhandsome@126.com>
上级 2a3261ae
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
- [AccessibilityExtensionAbility](accessibilityextensionability.md) - [AccessibilityExtensionAbility](accessibilityextensionability.md)
- [EnterpriseAdminExtensionAbility](enterprise-extensionAbility.md) - [EnterpriseAdminExtensionAbility](enterprise-extensionAbility.md)
- [InputMethodExtensionAbility](inputmethodextentionability.md) - [InputMethodExtensionAbility](inputmethodextentionability.md)
- [WindowExtensionAbility](windowextensionability.md) - [WindowExtensionAbility(仅对系统应用开放)](windowextensionability.md)
- 服务卡片开发指导(Stage模型) - 服务卡片开发指导(Stage模型)
- [服务卡片概述](service-widget-overview.md) - [服务卡片概述](service-widget-overview.md)
- 开发基于ArkTS UI的卡片 - 开发基于ArkTS UI的卡片
...@@ -73,6 +73,7 @@ ...@@ -73,6 +73,7 @@
- [静态订阅公共事件(仅对系统应用开放)](common-event-static-subscription.md) - [静态订阅公共事件(仅对系统应用开放)](common-event-static-subscription.md)
- [取消动态订阅公共事件](common-event-unsubscription.md) - [取消动态订阅公共事件](common-event-unsubscription.md)
- [公共事件发布](common-event-publish.md) - [公共事件发布](common-event-publish.md)
- [移除粘性公共事件(仅对系统应用开放)](common-event-remove-sticky.md)
- [后台服务](background-services.md) - [后台服务](background-services.md)
- 了解线程模型 - 了解线程模型
- [线程模型概述](thread-model-stage.md) - [线程模型概述](thread-model-stage.md)
......
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
**图2** 应用的详情页示意图 **图2** 应用的详情页示意图
![应用的详情页例图](figures/application_details.jpg) ![应用的详情页例图](figures/application_details.jpg)
- **应用版本声明配置** - **应用版本声明配置**
应用版本声明需要在工程的AppScope目录下的[app.json5配置文件](../quick-start/app-configuration-file.md)中配置versionCode标签和versionName标签。versionCode用于标识应用的版本号,该标签值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。versionName标签标识版本号的文字描述。 应用版本声明需要在工程的AppScope目录下的[app.json5配置文件](../quick-start/app-configuration-file.md)中配置versionCode标签和versionName标签。versionCode用于标识应用的版本号,该标签值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。versionName标签标识版本号的文字描述。
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
跨端迁移流程如下图所示。 跨端迁移流程如下图所示。
**图1** 跨端迁移流程图   **图1** 跨端迁移流程图
![hop-cross-device-migration](figures/hop-cross-device-migration.png) ![hop-cross-device-migration](figures/hop-cross-device-migration.png)
...@@ -47,60 +47,38 @@ ...@@ -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 ```json
{ {
"module": { "module": {
"requestPermissions":[ ...
{ "abilities": [
"name" : "ohos.permission.DISTRIBUTED_DATASYNC", {
...
"continuable": true,
} }
] ]
} }
} }
``` ```
2. 在配置文件中配置跨端迁移相关标签字段。 根据需要配置应用启动模式类型,配置详情请参照[UIAbility组件启动模式](uiability-launch-type.md)
- 配置应用支持迁移
在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<string> = ['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))
})
}
```
4. 在发起端UIAbility中实现[onContinue()](../reference/apis/js-apis-app-ability-uiAbility.md#abilityoncontinue)接口。 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中。
- 应用兼容性检测:开发者可以通过从wantParam中获取目标应用的版本号与本应用版本号做兼容性校验。 - 应用兼容性检测:开发者可以通过从wantParam中获取目标应用的版本号与本应用版本号做兼容性校验。
- 迁移决策:开发者可以通过onContinue接口的返回值决定是否支持此次迁移,返回值信息见[接口说明](#接口说明) - 迁移决策:开发者可以通过onContinue接口的返回值决定是否支持此次迁移,返回值信息见[接口说明](#接口说明)
示例如下: 示例如下:
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
服务被首次创建时触发该回调,开发者可以在此进行一些初始化的操作,例如注册公共事件监听等。 服务被首次创建时触发该回调,开发者可以在此进行一些初始化的操作,例如注册公共事件监听等。
> **说明:** > **说明:**
>
> 如果服务已创建,再次启动该InputMethodExtensionAbility不会触发onCreate()回调。 > 如果服务已创建,再次启动该InputMethodExtensionAbility不会触发onCreate()回调。
- **onDestroy** - **onDestroy**
...@@ -343,7 +344,7 @@ ...@@ -343,7 +344,7 @@
```ts ```ts
{ {
"module": { "module": {
// ... ...
"extensionAbilities": [ "extensionAbilities": [
{ {
"description": "inputMethod", "description": "inputMethod",
......
...@@ -10,13 +10,13 @@ Worker的开发步骤如下: ...@@ -10,13 +10,13 @@ Worker的开发步骤如下:
1. 在工程的[模块级build-profile.json5](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-building-configuration-0000001218440654#section6887184182020)文件的buildOption属性中添加配置信息。 1. 在工程的[模块级build-profile.json5](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-building-configuration-0000001218440654#section6887184182020)文件的buildOption属性中添加配置信息。
```ts ```ts
"buildOption": { "buildOption": {
"sourceOption": { "sourceOption": {
"workers": [ "workers": [
"./src/main/ets/workers/worker.ts" "./src/main/ets/workers/worker.ts"
] ]
}
} }
}
``` ```
2. 根据build-profile.json5中的配置创建对应的worker.ts文件。 2. 根据build-profile.json5中的配置创建对应的worker.ts文件。
...@@ -28,9 +28,9 @@ Worker的开发步骤如下: ...@@ -28,9 +28,9 @@ Worker的开发步骤如下:
// 处理来自主线程的消息 // 处理来自主线程的消息
parent.onmessage = function(message) { parent.onmessage = function(message) {
console.info("onmessage: " + message) console.info("onmessage: " + message)
// 发送消息到主线程 // 发送消息到主线程
parent.postMessage("message from worker thread.") parent.postMessage("message from worker thread.")
} }
``` ```
...@@ -47,10 +47,10 @@ Worker的开发步骤如下: ...@@ -47,10 +47,10 @@ Worker的开发步骤如下:
// 处理来自worker线程的消息 // 处理来自worker线程的消息
wk.onmessage = function(message) { wk.onmessage = function(message) {
console.info("message from worker: " + message) console.info("message from worker: " + message)
// 根据业务按需停止worker线程 // 根据业务按需停止worker线程
wk.terminate() wk.terminate();
} }
``` ```
...@@ -58,23 +58,22 @@ Worker的开发步骤如下: ...@@ -58,23 +58,22 @@ Worker的开发步骤如下:
```ts ```ts
import worker from '@ohos.worker'; import worker from '@ohos.worker';
let wk = new worker.ThreadWorker("../workers/worker.ts"); let wk = new worker.ThreadWorker("../workers/worker.ts");
// 发送消息到worker线程 // 发送消息到worker线程
wk.postMessage("message from main thread.") wk.postMessage("message from main thread.")
// 处理来自worker线程的消息 // 处理来自worker线程的消息
wk.onmessage = function(message) { wk.onmessage = function(message) {
console.info("message from worker: " + message) console.info("message from worker: " + message)
// 根据业务按需停止worker线程 // 根据业务按需停止worker线程
wk.terminate() 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` > - 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#序列化支持类型)。
- 主线程与Worker线程间支持的数据类型参考[序列化支持类型](../reference/apis/js-apis-worker.md#序列化支持类型)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册