41d8f8cd创建于 2024年3月5日历史提交
文件最后提交记录最后更新时间
test code modify Signed-off-by: xinking129 <xinxin13@huawei.com> 2 年前
4.0release OAT修改 Signed-off-by: nobbo <gaoshang22@huawei.com> 2 年前
解决OAT Signed-off-by: nobbo <gaoshang22@huawei.com> 2 年前
ArkTs 整改 2 年前
app icon modify Signed-off-by: xinking129 <xinxin13@huawei.com> 2 年前
ArkTs 整改 2 年前
ArkTs 整改 2 年前
IssueNo: #I73TBH:Game2048,ArkTSClock,CustomShare ohpm适配 Description: Game2048,ArkTSClock,CustomShare ohpm migration. Sig: SIG_applications_app_samples Feature or Bugfix: Feature Binary Source: No Signed-off-by: zwx1094577 <zhongyuyan1@huawei.com> 2 年前
CustomShare、StageModel、http README死链修复以及补充WindowManager缺少模块 Signed-off-by: yeyedeshen <yangxin181@huawei.com> 2 年前
ArkTs 整改 2 年前
IssueNo: #I73TBH:Game2048,ArkTSClock,CustomShare ohpm适配 Description: Game2048,ArkTSClock,CustomShare ohpm migration. Sig: SIG_applications_app_samples Feature or Bugfix: Feature Binary Source: No Signed-off-by: zwx1094577 <zhongyuyan1@huawei.com> 2 年前
IssueNo: #I73TBH:Game2048,ArkTSClock,CustomShare ohpm适配 Description: Game2048,ArkTSClock,CustomShare ohpm migration. Sig: SIG_applications_app_samples Feature or Bugfix: Feature Binary Source: No Signed-off-by: zwx1094577 <zhongyuyan1@huawei.com> 2 年前
IssueNo: #I73TBH:Game2048,ArkTSClock,CustomShare ohpm适配 Description: Game2048,ArkTSClock,CustomShare ohpm migration. Sig: SIG_applications_app_samples Feature or Bugfix: Feature Binary Source: No Signed-off-by: zwx1094577 <zhongyuyan1@huawei.com> 2 年前
IssueNo: #I73TBH:Game2048,ArkTSClock,CustomShare ohpm适配 Description: Game2048,ArkTSClock,CustomShare ohpm migration. Sig: SIG_applications_app_samples Feature or Bugfix: Feature Binary Source: No Signed-off-by: zwx1094577 <zhongyuyan1@huawei.com> 2 年前
Add ShareTemplate Signed-off-by: xinking129 <xinxin13@huawei.com> 2 年前
README_zh.md

自定义分享

介绍

自定义分享主要是发送方将文本,链接,图片三种类型分享给三方应用,同时能够在三方应用中展示。本示例使用数据请求 实现网络资源的获取,使用屏幕截屏 实现屏幕的截取,使用文件管理 实现对文件,文件目录的管理,使用媒体库管理 获取截取的图片,使用弹窗 进行信息的提示。

效果预览

主页 点击分享 分享页面
其它应用分享 文本分享成功预览页 文本编辑成功预览页
textSharePreview templatePreview

使用说明:

1.启动Share应用,首页展示分享跳转页面,点击分享按钮出现自定义分享弹窗(三方APP的)。

2.点击分享文本+链接,选择"Chat"图标,会拉起三方应用Chat ,此时选择聊天列表 中任意的朋友进行分享。

3.点击生成海报,此时第一层弹窗消失并出现新的弹窗,点击截图并分享,会出现小提示"截图成功,分享加载中..." ,稍后会拉起三方应用Chat ,此时选择聊天列表 中任意的朋友进行分享。

4.安装entry以及textShare两个module的hap包 ,点击分享文本+链接,选择"文本分享"图标,会拉起应用文本分享 ,此时选择"留在文本分享"可以进入文本页面 ,若选择"返回",则会回到Share应用主页面。

5.安装entry以及textEdit两个module的hap包 ,点击分享文本+链接,选择"文本编辑"图标,会拉起应用文本编辑 ,此时选择"留在文本编辑"可以进入文本编辑页面 ,若选择"返回",则会回到Share应用主页面。

工程目录

entry/src/main/ets/
|---Application
|   |---MyAbilityStage.ets                   
|---MainAbility
|   |---MainAbility.ts                   
|---model
|   |---Logger.ts                      // 日志工具
|---pages
|   |---Index.ets                      // 首页
textShare/src/main/ets/
├──model
|  └──Logger.ts
├──pages
|  ├──Index.ets                       // TextReceiveAbility页面
|  ├──TemplateBuilder.ets             // 自定义组件页面
|  └──ShareExtenIndex.ets             // ShareExtension页面
├──textreceiveability
|  └──TextReceiveAbility.ts           // 文本分享主页面
├──shareextensionability
|  └──ShareExtAbility.ts
textEdit/src/main/ets/
├──editability
|  └──EditTextAbility.ts              // 文本编辑主页面
├──model
|  └──Logger.ts
├──pages
|  ├──Index.ets                       // EditTextAbility页面
|  ├──TemplateBuilder.ets             // 自定义组件页面
|  └──ShareExtenIndex.ets             // ShareExtension页面
└──shareextensionability
   └──ShareExtAbility.ts

具体实现

相关权限

允许应用截取屏幕图像:ohos.permission.CAPTURE_SCREEN

允许使用Internet网络:ohos.permission.INTERNET

允许应用访问用户媒体文件中的地理位置信息:ohos.permission.MEDIA_LOCATION

允许应用读取用户外部存储中的媒体文件信息:ohos.permission.READ_MEDIA

允许应用读写用户外部存储中的媒体文件信息:ohos.permission.WRITE_MEDIA

依赖

依赖于Chat 应用,来作为接收方。

entry中测试Share.test.ets需要依赖textShare以及textEdit,需要编译两个feature module的hap包,并与entry应用hap包及测试hap包一同签名并安装。

约束与限制

1.本示例仅支持标准系统上运行,支持设备:RK3568。

2.本示例为Stage模型,支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)

3.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行

4.本示例使用的screenshot API属于SystemAPI,需要使用Full SDK 手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考替换指南

5.本示例涉及相关权限为system_core级别(相关权限级别可通过权限定义列表 查看), 需要手动配置高级别的权限签名( 具体操作可查看自动化签名方案) 。

6.本示例类型为系统应用,需要手动配置对应级别的应用类型("app-feature": "hos_system_app")。具体可参考profile配置文件bundle-info对象内部结构

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/BasicFeature/ApplicationModels/CustomShare/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master