| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 35 | 32 | ||
| entry/ | 06-May-2025 | - | 787 | 676 | ||
| hvigor/ | 06-May-2025 | - | 35 | 33 | ||
| screenshots/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 119 | 11 | 11 | |
| README_zh.md | D | 06-May-2025 | 4.2 KiB | 98 | 64 | |
| build-profile.json5 | D | 06-May-2025 | 1.2 KiB | 51 | 50 | |
| hvigorfile.ts | D | 06-May-2025 | 234 | 7 | 5 | |
| hvigorw | D | 06-May-2025 | 2.1 KiB | 64 | 28 | |
| hvigorw.bat | D | 06-May-2025 | 2.1 KiB | 78 | 59 | |
| oh-package-lock.json5 | D | 06-May-2025 | 1 KiB | 28 | 27 | |
| oh-package.json5 | D | 06-May-2025 | 877 | 28 | 26 | |
| ohosTest.md | D | 06-May-2025 | 418 | 7 | 5 |
README_zh.md
1# UIExtensionAbility 2 3### 介绍 4 5本示例主要展示了[UIExtensionAbility](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-uiExtensionAbility.md)的提供方与拉起方的创建与使用。开发者可以在UIAbility的页面中通过UIExtensionComponent嵌入提供方应用的UIExtensionAbility提供的UI。 6 7使用说明: 8 91. 当前UIExtensionAbility和UIExtensionComponent仅支持系统应用使用。 102. UIExtensionAbility支持多实例,每个嵌入式显示对应一个UIExtensionAbility实例。多实例场景下默认是多进程,可配置多进程模型。 11 12### 效果预览 13 14| 主页 | 15| ------------------------------- | 16|  | 17 18### 工程目录 19 20``` 21entry/src/main/ets/ 22|---entryability 23| |---EntryAbility.ts 24|---pages 25| |---Index.ets // 首页 26| |---Extension.ets // UIExtensionComponent页面 27|---model 28| |---Logger.ts // 封装的日志类 29|---uiextensionability 30| |---UIExtensionAbility.ets 31 32entry/src/main/resources 33|---base 34| |---element 35| |---media 36| |---profile 37| | |---main_pages.json // 页面配置文件 38|---en_US 39|---rewfile 40|---zh_CN 41|---module.json5 // 配置文件 42``` 43 44### 具体实现 45 46* 使用方在主页面[Index.ets](entry/src/main/ets/pages/Index.ets)中通过UIExtensionComponent嵌入提供方应用的UIExtensionAbility提供的UI。 47 48* 源码链接: [Index.ets](entry/src/main/ets/pages/Index.ets) 49 50* 接口参考: [UIExtensionAbility](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-uiExtensionAbility.md) 51 52* 提供方UIExtensionAbility页面在[Extension.ets](entry/src/main/ets/pages/Extension.ets)中实现,在页面中需要导入UIExtensionAbility的依赖包,自定义类继承UIExtensionAbility并实现onCreate、onSessionCreate、onSessionDestroy、onForeground、onBackground和onDestroy生命周期回调。 53 54* 源码链接:[Extension.ets](entry/src/main/ets/pages/Extension.ets) 55 56* 接口参考:[UIExtensionAbility](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-uiExtensionAbility.md) 57 58* 主页面[Index.ets](entry/src/main/ets/pages/Index.ets)和提供方UIExtensionAbility页面在[Extension.ets](entry/src/main/ets/pages/Extension.ets)需要在[main_pages.json](entry\src\main\resources\base\profile\main_pages.json)中配置。 59 60* 源码链接:[main_pages.json](entry/src/main/resources/base/profile/main_pages.json) 61 62* 接口参考:[UIExtensionAbility](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-uiExtensionAbility.md) 63 64* 在工程Module对应的[module.json5配置文件](entry/src/main/module.json5)中注册UIExtensionAbility,type字段需要配置为UIExtensionAbility所对应的类型。srcEntry字段表示当前UIExtensionAbility组件所对应的代码路径。 65 66* 源码链接:[module.json5](entry/src/main/module.json5) 67 68* 接口参考:[UIExtensionAbility](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-uiExtensionAbility.md) 69 70### 相关权限 71 72不涉及 73 74### 依赖 75 76不涉及 77 78### 约束与限制 79 801. 本示例仅支持标准系统上运行,支持设备:RK3568; 81 822. 本示例开发中需要手动替换Full SDK才能编译通过,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md)。 83 843. UIExtensionAbility仅支持系统应用,需要配置系统应用签名,可以参考[特殊权限配置方法](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/hapsigntool-overview.md),把配置文件中的“apl”字段信息改为“system_basic”。 85 864. 本示例需要使用DevEco Studio 4.0 Beta2 (Build Version: 4.0.0.400 构建 2023年8月2日)及以上版本才可编译运行。 87 88### 下载 89 90如需单独下载本工程,执行如下命令: 91 92``` 93git init 94git config core.sparsecheckout true 95echo code/SystemFeature/ApplicationModels/UIExtensionAbility/ > .git/info/sparse-checkout 96git remote add origin https://gitee.com/openharmony/applications_app_samples.git 97git pull origin master 98```