• Home
Name Date Size #Lines LOC

..--

AppScope/22-Oct-2025-3532

entry/22-Oct-2025-2,6502,448

hvigor/22-Oct-2025-2221

screenshots/22-Oct-2025-

.gitignoreD22-Oct-2025119 1111

README_zh.mdD22-Oct-20255.8 KiB11477

build-profile.json5D22-Oct-20251.1 KiB4443

hvigorfile.tsD22-Oct-2025768 171

hvigorwD22-Oct-20251.4 KiB4928

hvigorw.batD22-Oct-20251.5 KiB6547

oh-package.json5D22-Oct-2025879 2826

ohosTest.mdD22-Oct-20253.6 KiB1511

README_zh.md

1# 基础能力增强
2
3### 介绍
4
5本示例使用  [ohos.app.ability.appManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-appManager-sys.md), [UIAbilityContext](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext-sys.md) , [UIExtensionContentSession](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-uiExtensionContentSession-sys.md) 等接口实现了以下功能:
6
71. 提供查询单个应用是否正在运行接口;
8
92. 新增系统接口请求创建模系统或模应用的UIExtension;
10
113. UIExtension支持同步返回数据的能力;
12
134. UIExtension提供StartAsCaller接口。
14
15### 效果预览
16
17|                       主页面                        |                       弹出状态Toast                       |                        同步数据页面                        |                     UIExtension启动页                     |
18|:------------------------------------------------:|:-----------------------------------------------------:|:----------------------------------------------------:|:------------------------------------------------------:|
19| <img src="screenshots/index.jpeg" width="270" /> | <img src="screenshots/app_status.jpeg" width="270" /> | <img src="screenshots/sync_data.jpeg" width="270" /> | <img src="screenshots/uiextension.jpeg" width="270" /> |
20
21使用说明
22
231.应用查询单个应用是否正在运行的能力
24
25点击'查询应用状态'的ListItem,弹出Toast提示'当前应用运行中'
26
272.UIExtension创建模系统或模应用
28
29点击'创建模系统'的ListItem,弹出UIExtension的页面弹窗
30
313.UIExtension支持同步返回数据的能力
32
33点击'同步发送数据'的ListItem,进入到新页面再次点击'同步发送数据'的ListItem,UIAbility部分弹出Toast提示'HomeAbility
34onReceive data from UIExtensionAbility',UIExtensionAbility 部分弹出Toast提示'UIExtensionAbility onReceive data from
35HomeAbility'
36
374.UIExtension提供启动AbilityAsCaller的能力
38
39点击'启动AbilityAsCaller'的ListItem,应用启动NewAbility
40
415.UIExtension提供startAbilityAsCaller的能力
42
43点击启动'启动UIExtensionAbility'的ListItem,进入到新页面,在新页面点击'启动AbilityAsCaller'的ListItem,应用启动NewAbility
44
45### 工程目录
46
47```
48entry/src/main/ets/
49|---entryability
50|   |---EntryAbility.ets				// 首页的Ability
51|---pages
52|   |---Index.ets						// 首页
53|   |---Ext.ets							// UIExtensionAbility的展示页
54|   |---NewExt.ets						// 被启动的UIExtensionAbility的页面
55|   |---New.ets							// 被启动UIAbility的展示页
56|   |---Transit.ets						// UIExtensionComponent加载NewUIExtAbility的页面
57|   |---SendSync.ets					// UIExtensionComponent加载SendSyncExtAbility的页面
58|   |---SendSyncExt.ets					// 同步数据UIExtensionAbility的展示页
59|---uiextability
60|   |---UIExtAbility.ets				// UIExtensionAbility(用于验证新接口使用)
61|---sendsyncextability
62|   |---SendSyncExtAbility.ets			// UIExtensionAbility(用于验证新接口使用)
63|---newuiextability
64|   |---NewUIExtAbility.ets				// UIExtensionAbility(用于验证新接口使用)
65|---newability
66|   |---NewAbility.ets					// 被启动的UIAbility(验证新接口启动使用)
67|---utils								// 工具
68|   |---Logger.ets						// 日志工具
69```
70
71### 具体实现
72
73- 应用查询单个应用是否正在运行的能力,通过appManager调用isApplicationRunning(bundleName: string, callback:
74  AsyncCallback<boolean>): void方法查询应用状态, 源码参考:[Index.ets](entry/src/main/ets/pages/Index.ets)
75- UIExtension创建模系统或模应用,通过UIAbilityContext调用requestModalUIExtension(pickerWant: Want, callback:
76  AsyncCallback<void>): void方法拉起UIExtensionAbility, 源码参考:[Index.ets](entry/src/main/ets/pages/Index.ets)
77- UIExtension支持同步返回数据的能力,通过UIExtensionProxy调用sendSync(data: { [key: string]: Object }): { [key: string]:
78  Object }接口实现,源码参考:[SendSync.ets](entry/src/main/ets/pages/SendSync.ets)
79- UIExtension提供startAbilityAsCaller的能力,通过UIExtensionContentSession调用startAbilityAsCaller(want: Want, callback:
80  AsyncCallback<void>): void接口实现,源码参考:[Ext.ets](entry/src/main/ets/pages/Ext.ets)
81
82### 相关权限
83
84[ohos.permission.GET_RUNNING_INFO](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionget_running_info)
85
86### 依赖
87
88不涉及。
89
90### 约束与限制
91
921.本示例仅支持标准系统上运行,支持设备:RK3568。
93
942.本示例为Stage模型,支持API11版本SDK,版本号:4.1.5.1;
95
963.本示例涉及使用系统接口:appManager.isApplicationRunningUIAbilityContext.requestModalUIExtension,
97UIAbilityContext.startAbilityAsCaller,UIExtensionContentSession.startAbilityAsCaller,UIExtensionProxy.sendSync
98需要手动替换Full SDK才能编译通过;
99
1004.本示例需要使用DevEco Studio 3.1.1 Release (Build Version: 3.1.0.501, built on June 20, 2023)才可编译运行;
101
1025.本示例涉及[ohos.permission.GET_RUNNING_INFO](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionget_running_info)权限为 system_basic级别,需要配置高权限签名;
103
104### 下载
105
106```shell
107git init
108git config core.sparsecheckout true
109echo code/SystemFeature/Ability/AbilityFeatureSystem/ > .git/info/sparse-checkout
110git remote add origin https://gitee.com/openharmony/applications_app_samples.git
111git pull origin master
112```
113
114