示例代码合集地址:
HarmonyOS示例代码-鸿蒙系统示例代码-华为开发者联盟 (huawei.com)
代码工程地址:
ShareKit_SampleCode_Clientdemo_ArkTS: 本示例展示了利用Share Kit分享能力,实现向目标应用分享数据和应用内的文件分享。 (gitee.com)
分享服务
简介
系统分享服务为应用提供文本、图片、视频等内容跨应用分享能力,用于将内容发送到其他应用甚至其他应用的用户。应用把需要分享的内容和预览样式配置给系统分享服务,系统分享服务将根据分享的数据类型、数量等信息构建分享面板,为用户提供内容预览、推荐分享联系人、关联应用及操作界面,便于用户快速选择分享应用或操作,将内容分发到目标应用。
效果图
相关概念
- Stage模型:Stage模型的设计,主要是为了解决FA模型无法解决的开发场景问题,方便开发者更加方便地开发出分布式环境下的复杂应用。从API Version 9开始支持。
- UIAbility概述:UIAbility组件是一种包含UI的应用组件,主要用于和用户交互。UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。
- UIAbilityContext:UIAbilityContext是需要保存状态的UIAbility所对应的context,继承自Context。提供UIAbility的相关配置信息以及操作UIAbility和ServiceExtensionAbility的方法。
工程目录
├─entry/src/main/ets // 代码区 │ ├─entryability │ │ ├─EntryAbility.ets // 入口组件 │ │ └─ShareUIAbility.ets // 应用处理分享内容组件 │ ├─extensionAbility │ │ └─ShareExtAbility.ets // 二级面板处理分享内容组件 │ └─pages │ ├─Index.ets // 主页界面 │ ├─ShareExtDialog.ets // 二级面板处理分享内容界面 │ └─ShareUIPage.ets // 应用处理分享内容界面 ├─entry/src/main/resources // 应用资源目录 │ ├─base │ │ ├─media // 示例图片存放目录 │ │ └─profile │ │ └─main_pages.json // 页面路径定义 │ └─module.json5 // 配置文件
相关权限
不涉及。
依赖
不涉及。
使用说明:
- demo应用安装:准备一台手机,链接DevEco后,点击IDE的Run 'entry' 绿色箭头按钮。
- 在手机上此时就打开了demo应用,点击链接分享按钮就可以拉起系统分享框进行分享。
- 可以尝试使用应用分享、使用操作区操作和使用华为分享(体验跨端的分享直达)。
约束与限制
- 本示例仅支持标准系统上运行,支持设备:支持设备:华为手机、华为平板、2in1。
- HarmonyOS系统:HarmonyOS NEXT Developer Beta1及以上。
- DevEco Studio版本:DevEco Studio NEXT Developer Beta1及以上。
- HarmonyOS SDK版本:HarmonyOS NEXT Developer Beta1 SDK及以上。
需同时满足以下条件,才能使用该功能: