Name Date Size

..25-Oct-20244 KiB

.gitignoreH A D25-Oct-2024119

AppScope/H25-Oct-20244 KiB

build-profile.json5H A D25-Oct-20241.2 KiB

entry/H25-Oct-20244 KiB

hvigor/H25-Oct-20244 KiB

hvigorfile.tsH A D25-Oct-2024234

hvigorwH A D25-Oct-20242.1 KiB

hvigorw.batH A D25-Oct-20242.1 KiB

oh-package-lock.json5H A D25-Oct-20241 KiB

oh-package.json5H A D25-Oct-2024877

ohosTest.mdH A D25-Oct-2024418

README_zh.mdH A D25-Oct-20244.2 KiB

screenshots/H25-Oct-20244 KiB

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://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/quick-start/full-sdk-switch-guide.md/)。
83
843. UIExtensionAbility仅支持系统应用,需要配置系统应用签名,可以参考[特殊权限配置方法](https://docs.openharmony.cn/pages/v3.2Beta/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```