README_zh.md

文本应用

介绍

本示例主要实现了基于UIExtension实现简单的分享功能。支持取消分享,点击“返回Share”按钮,返回调用方应用;支持完成分享,点击“留在文本应用”按钮,留在当前文本应用。

效果预览

应用主页面 分享成功预览页面 分享成功展开页面
templateMain templatePreview templateShare

使用说明

1.使用Share应用点击“分享”按钮,点击的弹出本应用图标,跳转到当前应用;

2.当前应用通过UIExtension组件显示发起分享应用(Share应用)分享的信息及“返回Share”和“留在文本应用”按钮;

3.点击“返回Share”按钮,返回Share应用;

4.点击“留在文本应用”按钮,留在当前应用并显示发起分享应用(Share应用)分享的信息。

工程目录

entry/src/main/
|---ets
|  |---entryability
|  |  └---EntryAbility.ts   
|  |---model
|  |  └---Logger.ts
|  |---pages
|  |  |---Index.ets                          // EntryAbility页面
|  |  |---TemplateBuilder.ets                // 自定义组件页面
|  |  └---UIExtenIndex.ets                   // UIExtension页面
|  └---uiextensionability
|     └---UIExtAbility.ts 
└---resources                                // 资源信息

具体实现

  • 在Index.ets中加载TemplateBuilder自定义组件并显示分享信息, 源码参考Index.ets
    • 在加载Index页面中,如果是被分享方拉起,则加载TemplateBuilder自定义组件。若不是被分享拉起,则显示Ability设置内容。
  • TemplateBuilder组件内容封装在TemplateBuilder.ets中,源码参考:TemplateBuilder.ets
    • 在TemplateBuilder组件中包含UIExtAbility组件、及“返回Share”和“留在文本应用”按钮。

相关权限

不涉及。

依赖

本应用需发起分享应用(Share应用)配合使用,Share应用地址:Share

约束与限制

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

2.本示例已适配API version 10版本SDK,版本号:4.0.8.5。

3.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400 构建 2023年4月7日)才可编译运行。

4.本示例需要使用Full SDK编译。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考替换指南

5.当前4.0.8.5版本的Full SDK。因为不支持UIExtension类型编译,所以需要手动修改SDK中“10/toolchains/modulecheck/module.json"文件。在对应的extensionAbilities的type属性中,追加”ui“枚举值。

"extensionAbilities": {
    "type": {
        "type": "string",
        "enum": [
            "ui"
        ]
    }
}

下载

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

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