# HarmonyDemos **Repository Path**: zjclugger/harmony-demos ## Basic Information - **Project Name**: HarmonyDemos - **Description**: 鸿蒙学习QuickStart - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-06 - **Last Updated**: 2025-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 原生互联:分布式流转 前提条件: 分布式流转开发之前,需要先了解流转的前提条件,流转的前提条件包括: 1.双端设备需要登录同一华为帐号。 2.双端设备需要打开Wi-Fi和蓝牙开关。条件允许时,建议双端设备接入同一个局域网,可提升数据传输的速度。 3.应用接续只能在同应用(UIAbility)之间触发,双端设备都需要有该应用 #项目配置 1.启用应用接续能力:module.json5的abilities字段中设置continuable为true,表示该UIAbility可被迁移,配置为false的UIAbility将被系统识别为无法迁移,该配置默认值为false。 2.写明权限申请原因,分布式流转权限即“ohos.permission.DISTRIBUTED_DATASYNC“权限为user_grant权限类型,为需要【用户授权】的类型,该类型权限申请时需要写明申请原因和使用场景,且原因字段只支持使用$string的方式进行引用,具体写法之后的申请配置可以看到,所以需要开发者在.../main/resources/base/element/string.json中写明申请原因。 3.增加权限申请,module.json5中申请“ohos.permission.DISTRIBUTED_DATASYNC”权限,添加requestPermissions字段用于配置需要申请的权限 包括:name:申请的权限名称,必填,此处由于需要申请分布式数据同步的权限,所以填入“ohos.permission.DISTRIBUTED_DATASYNC”。 reason:申请权限的原因,在之后的向用户申请权限的弹窗中会用到,此处只能写成$string的形式,配合刚刚配置的申请原因,我们写为"$string:distributed_data_sync"。 usedScene。描述权限使用的场景和时机。场景类型如下两种: - ability:ability的名称,可配置多个。此处我们配置为快速入门案例的ability名称,即EntryAbility。 - when:调用时机,可填的值有inuse(使用时需要此权限)、always( 所有时间都需要此权限),默认值为inuse。 #接续的流程 理解之后要做什么 1.首先需要我们准备两台设备,分别安装好我们的快速入门案例。 此时需要我们在其中一台设备上打开我们的快速入门案例应用,那么当前打开应用的设备就是源端设备。 另一台设备的dock栏会出现接续的应用图标,这台待接续的设备即为对端设备。 然后我们点击对端的应用图标,此处会触发源端的onContinue回调。 如果源端同意迁移,那么对端应用就会进入启动的流程,执行其中的onCreate回调。 这就是整个接续的简单流程 源端应用打开==》对端Dock栏出现应用图标==》点击应用图标==》源端应用的onContinue回调==》对端应用启动==》对端应用的onCreate/onNewWnat接口