鸿蒙学习实战之路-Share Kit系列(1/17)-Share Kit分享服务入门指南
最近好多朋友问我:“西兰花啊,我想在应用里加个分享功能,让用户能把内容分享到微信、微博这些平台,但不知道从哪下手?” 害,这问题可问对人了!今天这篇,我就手把手带你了解 Share Kit 分享服务,让你知道鸿蒙的分享功能有多强大~全程不超过 10 分钟,看完你就能搞清楚 Share Kit 是啥、能干啥、支持哪些设备!
鸿蒙学习实战之路-Share Kit系列(1/17)-Share Kit分享服务入门指南
最近好多朋友问我:“西兰花啊,我想在应用里加个分享功能,让用户能把内容分享到微信、微博这些平台,但不知道从哪下手?” 害,这问题可问对人了!
今天这篇,我就手把手带你了解 Share Kit 分享服务,让你知道鸿蒙的分享功能有多强大~全程不超过 10 分钟,看完你就能搞清楚 Share Kit 是啥、能干啥、支持哪些设备!
Share Kit 是啥?
Share Kit(分享服务)是鸿蒙系统提供的跨应用、跨端分享能力。简单说,就是让你能轻松实现:
- 应用间分享:把内容分享到其他应用(比如微信、微博、华为笔记等)
- 跨端分享:把内容分享到其他设备(手机、平板、PC/2in1)
这就像前端的分享 SDK(比如微信分享 SDK),但更强大的是,Share Kit 是系统级别的服务,体验更统一、更流畅。
分享面板长啥样?
先看看实际的分享面板效果,让你有个直观感受。
手机上的分享面板(模态弹窗形式):

核心概念搞清楚
在开始用 Share Kit 之前,先搞清楚几个核心概念,不然容易晕 o(╯□╰)o
宿主应用 vs 目标应用
- 宿主应用:分享行为的发起者。比如你在自己的应用里点"分享"按钮,你的应用就是宿主应用。
- 目标应用:分享内容的接收者。比如你分享到微信,微信就是目标应用。
分享面板的四个区域
分享面板分为四个区域,每个区域都有自己的作用:
| 区域 | 作用 |
|---|---|
| 内容区 | 显示分享内容的标题、预览图、描述等信息,供用户选择 |
| 推荐区 | 推荐能处理分享内容的设备和目标应用用户(比如最近联系的人) |
| 分享方式区 | 显示支持分享内容的目标应用列表 |
| 操作区 | 系统提供的复制、保存、另存为、打印等操作 |
支持哪些设备?
Share Kit 支持多种设备,但不同设备的能力有差异,这个得注意一下!
| 能力 | 手机 | 平板 | PC/2in1 | TV |
|---|---|---|---|---|
| 系统分享 | 支持 | 支持 | 支持 | 部分支持(只能分享到周边设备,不能分享给其他应用) |
| 碰一碰分享 | 支持 | 不支持 | 支持 | 不支持 |
| 隔空传送 | 支持 | 支持 | 支持 | 不支持 |
🥦 西兰花警告:
我有个朋友想在平板上做碰一碰分享功能,结果发现平板不支持,debug 了两小时才发现是设备限制问题!血泪教训啊朋友们!
分享流程是怎样的?
整个分享流程其实很简单,就四步:

流程说明:
- 宿主应用构造分享数据:配置要分享的内容(文本、图片、视频、链接等)
- 拉起系统分享面板:调用 Share Kit 接口显示分享面板
- 用户选择目标:用户选择要分享到的设备或应用
- 目标应用处理数据:目标应用接收并处理分享数据
能分享哪些内容?
Share Kit 支持分享多种类型的内容:
| 内容类型 | 说明 | 示例 |
|---|---|---|
| 文本 | 纯文本内容 | 一段话、一篇文章 |
| 图片 | 单张或多张图片 | 照片、截图 |
| 视频 | 视频文件 | 录像、短视频 |
| 链接 | App Linking 或普通链接 | 商品链接、文章链接 |
🥦 西兰花小贴士:
分享内容需要遵循 UDMF(统一数据管理框架)定义的 UTD(统一类型描述符)规范。这个听起来有点复杂,其实就是给每种内容类型一个标准化的标识,方便系统识别。比如 general.text 表示文本,general.image 表示图片。
有什么限制?
Share Kit 虽然强大,但也有一些限制需要注意:
数据量限制
- 分享数据描述信息总量:不能超过 200KB
- 分享条目总量:不能超过 500 条
这个限制也合理,免得有人恶意分享超大文件把系统搞崩了。
模拟器支持
Share Kit 支持模拟器开发,但和真机有部分能力差异。测试的时候不用到处借设备了,但最终还是要真机测试一下哦。
碰一碰分享是啥?
碰一碰分享是 Share Kit 的高级功能,让用户通过"碰一碰"两台设备就能快速分享内容。
手机碰一碰分享效果:

手机与 PC/2in1 碰一碰分享效果:

这个功能超酷的,两台设备一碰就能分享,比选来选去快多了!
隔空传送是啥?
隔空传送是另一个高级功能,让用户通过手势就能把内容传送到其他设备。
开启隔空传送的步骤:
- 从手机屏幕顶部向下滑动,打开控制中心
- 点击"隔空传送"图标,开启隔空传送开关
🥦 西兰花小贴士:
当隔空传送开关和隔空截屏开关同时开启时,用户可以通过"一抓一放"的手势,实现隔空截屏+传送,这个体验超爽!
宿主应用 vs 目标应用
Share Kit 有两种接入模式:
宿主应用接入(发起分享)
如果你的应用需要发起分享(比如用户点"分享"按钮),你需要:
- 构造分享数据(SharedData)
- 构建分享控制器(ShareController)
- 显示分享面板
目标应用接入(接收分享)
如果你的应用需要接收分享(比如用户从其他应用分享到你的应用),你需要:
- 在 module.json5 中声明支持的 UTD 类型
- 构建 UIAbility 或 ShareExtensionAbility
- 处理分享数据
下一步学什么?
看完这篇,你应该对 Share Kit 有个整体认识了。接下来可以深入学习:
- 宿主应用如何发起分享:学习 ShareController、SharedData 的使用
- 分享不同类型的内容:文本、图片、视频、链接的具体实现
- 目标应用如何接收分享:UIAbility、ShareExtensionAbility 的配置
- 高级功能:碰一碰分享、隔空传送、联系人推荐等
推荐资料
📚 官方文档:
我是盐焗西兰花,
不教理论,只给你能跑的代码和避坑指南。
下期见!🥦
更多推荐

所有评论(0)