• Home
Name Date Size #Lines LOC

..--

AppScope/22-Mar-2025-3532

entry/22-Mar-2025-1,4391,331

hvigor/22-Mar-2025-1919

screenshots/22-Mar-2025-

README_zh.mdD22-Mar-20256.6 KiB10872

build-profile.json5D22-Mar-20251.1 KiB4342

hvigorfile.tsD22-Mar-2025843 225

hvigorwD22-Mar-20251.4 KiB4928

hvigorw.batD22-Mar-20251.5 KiB6547

oh-package.json5D22-Mar-2025232 1312

ohosTest.mdD22-Mar-20251.5 KiB1513

README_zh.md

1# 卡片使用方
2
3## 介绍
4
5本示例展示了一个卡片使用方应用,实现了以下几点功能:
6
71.查询所有卡片信息,并选择显示某一张卡片。
8
92.监听所有应用安装、卸载、升级事件,监听的回调为重新获取所有卡片信息。
10
113.提供了卡片的更新、删除等功能。
12
13## 相关概念
14
15卡片使用方:显示卡片内容的宿主应用,控制卡片在宿主中展示的位置,当前仅系统应用可以作为卡片使用方。
16
17卡片管理服务:用于管理系统中所添加卡片的常驻代理服务,提供formProvider和formHost的接口能力,同时提供卡片对象的管理与使用以及卡片周期性刷新等能力。
18
19## 效果预览
20
21| 卡片使用方 | 选择添加卡片 | formHost接口 | 更新展示 |
22|--------|--------------|---------------|-----|
23|![home](./screenshots/form-host-1.jpeg) | ![select](./screenshots/form-host-2.jpeg) | ![formHost](./screenshots/form-host-3.jpeg) | ![formHost](./screenshots/form-host-4.jpeg) |
24
25## 使用说明
26
271. 点击查询卡片按钮,将查询所有卡片信息显示到选择添加卡片列表中;点击选择添加卡片,会弹出可选卡片列表;在选择框选择一张卡片点击确定,将卡片添加到界面上。
28
292. 添加卡片后,在卡片下方的选择列表可以对当前卡片进行操作。
30   删除卡片:删除当前卡片。
31   更新卡片:请求卡片更新。
32   卡片可见:向卡片框架发送通知以使指定的卡片可见。
33   卡片不可见:向卡片框架发送通知以使指定的卡片不可见。
34   不可更新:向卡片框架发送通知以使当前的卡片不可以更新。
35   可以更新:向卡片框架发送通知以使当前的卡片可以更新。
36
37> **注意事项:**
38>
39> 1. 卡片的可见和不可见选项,并不是界面上的可见与否,而是卡片使用方设定的属性,在本示例中可以通过formObserver.on接口的回调日志中来确定是否改变了可见属性。
40> 2. 添加下一张卡片时,需要删除当前卡片才可添加成功。
41
42## 工程目录
43
44```
45entry/src/main/ets/
46├── entryability
47│   └── EntryAbility.ets
48└── pages
49    └── Index.ets             //卡片使用方页面
50
51```
52
53## 具体实现
54
55* 卡片组件
56  * 使用卡片组件FormComponent (系统能力:SystemCapability.ArkUI.ArkUI.Full),展示卡片提供方提供的卡片内容。
57  * 源码参考:[Index.ets](./entry/src/main/ets/pages/Index.ets)
58  * 参考:[FromComponent组件](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-formcomponent-sys.md)
59
60* formHost接口
61  * 使用formHost接口(系统能力:SystemCapability.Ability.Form),对使用方同一用户下安装的卡片进行删除、更新、获取卡片信息、状态等操作。
62  * 源码参考:[Index.ets](./entry/src/main/ets/pages/Index.ets)
63  * 接口参考:[@ohos.app.form.formHost](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-form-kit/js-apis-app-form-formHost-sys.md)
64
65* 应用事件监听
66  * 使用bundle模块的bundleMonitor.on监听到应用的安装,卸载,更新(系统能力:SystemCapability.BundleManager.BundleFramework.Core),应用的安装、卸载、更新时重新获取全部卡片信息。
67  * 源码参考:[Index.ets](./entry/src/main/ets/pages/Index.ets)
68  * 接口参考:[@ohos.bundle.bundleMonitor](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-bundleMonitor-sys.md)
69
70## 依赖
71
72卡片提供方 [FormProvider](../FormProvider/)
73
74## 相关权限
75
76| 权限名                                     | 权限说明                                         | 级别         |
77| ------------------------------------------ | ------------------------------------------------ | ------------ |
78| [ohos.permission.GET_BUNDLE_INFO_PRIVILEGED](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-enterprise-apps.md#ohospermissionget_bundle_info_privileged) | 允许应用查询其他应用的信息。                     | system_basic |
79| [ohos.permission.LISTEN_BUNDLE_CHANGE](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionlisten_bundle_change)      | 允许应用监听其他应用安装、更新、卸载状态的变化。 | system_basic |
80| [ohos.permission.REQUIRE_FORM](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionrequire_form)               | 允许应用获取Ability Form。                       | system_basic |
81| [ohos.permission.OBSERVE_FORM_RUNNING](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionobserve_form_running)       | 允许应用监听卡片运行状态                      | system_basic |
82
83## 约束与限制
84
851.本示例仅支持标准系统上运行,支持设备:RK3568。
86
872.本示例为Stage模型,支持API12版本SDK,SDK版本号(API Version 12 Release),镜像版本号(5.0.0.20)。
88
893.本示例需要使用DevEco Studio 版本号(4.1.3.500)及以上版本才可编译运行。
90
914.本示例需要使用系统权限的系统接口,需要使用Full SDK编译。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/faqs/full-sdk-switch-guide.md)92
935.本示例所配置的权限均为system_basic或system_core级别(相关权限级别可通过[权限定义列表](https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md)查看),需要手动配置对应级别的权限签名(具体操作可查看[自动化签名方案]( https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/signing-0000001587684945-V2))94
956.本示例类型为系统应用,需要手动配置对应级别的应用类型("app-feature": "hos_system_app")。具体可参考profile配置文件[bundle-info对象内部结构]( https://gitee.com/openharmony/docs/blob/eb73c9e9dcdd421131f33bb8ed6ddc030881d06f/zh-cn/application-dev/security/app-provision-structure.md#bundle-info%E5%AF%B9%E8%B1%A1%E5%86%85%E9%83%A8%E7%BB%93%E6%9E%84 )
96
97## 下载
98
99如需单独下载本工程,执行如下命令:
100
101```git
102git init
103git config core.sparsecheckout true
104echo code/DocsSample/Form/FormHost/ > .git/info/sparse-checkout
105git remote add origin https://gitee.com/openharmony/applications_app_samples.git
106git pull origin master
107```
108