论坛首页 安全编程开发区 阅读主题

[原创]【FAQ】HarmonyOS SDK 闭源开放能力 — Share Kit

444 浏览 0 回复
#1 楼主 2026-06-01 21:09:23
1.问题描述:
分享的时候,如何获取精准的utd类型?
解决方案:
使用Share Kit时,宿主应用和目标应用定义数据类型须遵照UDMF(统一数据管理框架)定义的UTD(统一类型描述符)规范。
UTD中定义的标准化数据类型在设计原则上按物理和逻辑分为两类:

按物理分类的根节点为general.entity,用于描述类型的物理属性,比如文件、目录等,具体可见图1。

按逻辑分类的根节点为general.object,用于描述类型的功能性特征,如图片、网页等,具体可见图2。


全部的数据类型可以参考:UTD基础类型表格。
目标应用需要在应用配置文件(src/main/module.json5)的skills配置actions为ohos.want.action.sendData,并且uris需穷举所有支持的数据类型。
"extensionAbilities": [


"name": "TestShareAbility",

"srcEntry": "./ets/abilities/TestShareAbility.ts",

"type": "share", // 支持分享数据处理

"description": "xxx",

"exported": true,

"label": "$string:xx_label",

"icon": "$media:icon",

"skills": [


"actions": [

"ohos.want.action.sendData"


// 目标应用在配置支持接收的数据类型时,需穷举支持的UTD

// 比如:支持全部图片类型,可声明:general.image,如支持全部数据类型,可声明:general.object

"uris": [


"scheme": "file",

"utd": "general.text",

"maxFileSupported": 1


"scheme": "file",

"utd": "general.png",

"maxFileSupported": 1


"scheme": "file",

"utd": "general.jpeg",

"maxFileSupported": 1


2.问题描述:
如何判断设备是否支持碰一碰分享?
解决方案:
通过canIUse检测设备是否支持碰一碰能力:
if (canIUse('SystemCapability.Collaboration.HarmonyShare')) {

// 支持一碰分享的能力.


3.问题描述:
如何获取用户点击了分享到哪个平台或者保存图片到本地事件?
解决方案:
参考:systemShare(分享)下的on('shareCompleted')接口,注册用户完成分享事件监听。返回用户分享渠道,可用于数据统计等。
4.问题描述:
目标应用已配置支持png和jpeg图片类型,但截屏分享时,分享方式区仍未显示目标应用。
解决方案:
目标应用在配置支持接收的数据类型时,需穷举支持的utd。支持全部图片类型,可声明:general.image。
5.问题描述:
目标应用配置了module.json5,但是发起分享时却找不到目标应用是什么原因
解决方案:
宿主应用发起分享时,需要确认发起的分享的数据类型是否和目标应用匹配。
例如宿主应用发起分享AUDIO类型数据:
let data: systemShare.SharedData = new systemShare.SharedData({

utd: utd.UniformDataType.AUDIO,

content: 'Hello HarmonyOS'

});

目标应用需要配置AUDIO数据类型,配置uri可以参考上方解决方案:

"scheme": "file",

"utd": "general.audio",

"maxFileSupported": 1


6.问题描述:
MP3文件分享给外部,无可打开应用。
解决方案:
【问题描述】
在目标应用的module.json5文件中进行配置,但是分享面板的分享方式区没有目标应用可以进行选中分享。
1、目标效果:在文件管理中选择指定文件后,点击分享可以在分享面板中显示目标应用的图标并点击该图标进行文件分享;
2、实际效果:在文件管理中选择指定文件后,点击分享可以在分享面板中未显示目标应用的图标。
待分享的module.json的配置信息如下:

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-289535.htm

暂无回复,快来抢沙发吧!

请登录后参与讨论

立即登录 注册账号