Qt for HarmonyOS/user development/application share guild zh
Jump to navigation
Jump to search
本文档基于以下示例撰写,帮助开发者快速在 ```Qt for HarmonyOS``` 应用中集成 ```Share Kit``` 分享能力:
- ```发送端 Demo```:`qtohosextras/examples/qtohosextras/abilitycontext/sharedata`(核心文件 `main.cpp`)
- ```接收端 Demo```:`qtohosextras/examples/qtohosextras/abilitycontext/sharedatareceiver`(核心文件 `main.cpp`)
---
1. 目标与适用范围
- 说明如何在 ```Qt Widgets / Qt Quick``` 应用中构建分享内容,并通过 `QtOhosExtras::ShareKit` 打开系统分享面板。
- 介绍接收端如何在 ```Ability 启动或运行阶段``` 读取 Share Kit 注入的 `QOhosSharedRecord`。
- 给出从构建、部署到调试的关键步骤以及常见问题处理方式。
---
2. 开发环境与依赖
| 组件 |
说明: Share Kit 默认通过系统分享面板完成权限授权,通常无需手动声明权限。但需确保目标设备系统版本支持分享能力。 --- 2.1 module.json5 配置(接收端 *必填*)在目标应用的 `module.json5` 中为接收分享的 UIAbility 声明 `skills` 过滤器: {
"abilities": [
{
"name": "EntryAbility",
"skills": [
{
"actions": [
"ohos.want.action.sendData"
],
"uris": [
{
"scheme": "file",
"utd": "general.image",
"maxFileSupported": 9
}
]
}
]
}
],
"requestPermissions": [
{ "name": "ohos.permission.INTERNET" }
]
}
``` 分享数据描述信息总量 ≤ 200KB``` ``` 条目总数 ≤ 500 ```
--- 3. 发送端实现指南参考:`sharedata/main.cpp` 3.1 关键步骤1. 准备分享记录
`QtOhosExtras::ShareKit::createContentRecord(QMimeType, QString)`
`createFileRecord(const QFileInfo &)`(自动推断 MIME)
读取 `:/qt_logo.png` 并通过 `setThumbnail()` 设置 2. 配置记录元数据调用以下接口增强系统面板展示信息:
3. 配置控制选项(可选)
4. 调用分享接口
`shareDataWithShareKit(records, controllerOptionsOrNull)`
5. 界面交互建议
--- 3.2 控制选项表单说明
|
|---|