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

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

Signed-off-by: zyjhandsome's avatarzyjhandsome <zyjhandsome@126.com>
上级 2a3261ae
......@@ -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)
......
......@@ -88,7 +88,7 @@
**图2** 应用的详情页示意图
![应用的详情页例图](figures/application_details.jpg)
- **应用版本声明配置**
应用版本声明需要在工程的AppScope目录下的[app.json5配置文件](../quick-start/app-configuration-file.md)中配置versionCode标签和versionName标签。versionCode用于标识应用的版本号,该标签值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。versionName标签标识版本号的文字描述。
......
......@@ -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<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))
})
}
```
根据需要配置应用启动模式类型,配置详情请参照[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接口的返回值决定是否支持此次迁移,返回值信息见[接口说明](#接口说明)
示例如下:
......
......@@ -16,6 +16,7 @@
服务被首次创建时触发该回调,开发者可以在此进行一些初始化的操作,例如注册公共事件监听等。
> **说明:**
>
> 如果服务已创建,再次启动该InputMethodExtensionAbility不会触发onCreate()回调。
- **onDestroy**
......@@ -343,7 +344,7 @@
```ts
{
"module": {
// ...
...
"extensionAbilities": [
{
"description": "inputMethod",
......
......@@ -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#序列化支持类型)。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册