• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3532

entry/06-May-2025-787676

hvigor/06-May-2025-3533

screenshots/06-May-2025-

.gitignoreD06-May-2025119 1111

README_zh.mdD06-May-20254.2 KiB9864

build-profile.json5D06-May-20251.2 KiB5150

hvigorfile.tsD06-May-2025234 75

hvigorwD06-May-20252.1 KiB6428

hvigorw.batD06-May-20252.1 KiB7859

oh-package-lock.json5D06-May-20251 KiB2827

oh-package.json5D06-May-2025877 2826

ohosTest.mdD06-May-2025418 75

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| ![iamge](screenshots/main.png) |
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```