| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 36 | 33 | ||
| entry/ | 06-May-2025 | - | 1,042 | 897 | ||
| hvigor/ | 06-May-2025 | - | 23 | 22 | ||
| publish/ | 06-May-2025 | - | 759 | 644 | ||
| screenshots/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 127 | 8 | 8 | |
| README_zh.md | D | 06-May-2025 | 6.1 KiB | 101 | 61 | |
| build-profile.json5 | D | 06-May-2025 | 1.3 KiB | 55 | 54 | |
| hvigorfile.js | D | 06-May-2025 | 168 | 2 | 1 | |
| hvigorfile.ts | D | 06-May-2025 | 160 | 2 | 1 | |
| hvigorw | D | 06-May-2025 | 2.1 KiB | 64 | 28 | |
| hvigorw.bat | D | 06-May-2025 | 2 KiB | 73 | 56 | |
| oh-package.json5 | D | 06-May-2025 | 819 | 27 | 25 | |
| ohosTest.md | D | 06-May-2025 | 1.4 KiB | 17 | 15 |
README_zh.md
1# 静态订阅(仅对系统应用开放) 2 3### 介绍 4 5本示例主要展示了静态订阅的创建与使用,以及静态订阅的使能和去使能。通过[CommonEventManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-commonEventManager.md)发布自定义事件,使能和去使能静态订阅。通过[StaticSubscriberExtensionAbility](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-application-staticSubscriberExtensionAbility-sys.md)、[NotificationManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-notification-kit/js-apis-notificationManager.md)静态订阅已发布的自定义事件,订阅后即可自动收到该事件,收到该事件后,发送通知将自定义事件数据显示在通知栏。 6 7### 效果预览 8 9| 主页 | 发布通知 | 通知栏 | 10| ------------------------------ | --------------------------------- | --------------------------------------- | 11|  |  |  | 12 13使用说明: 14 151. 在entry/src/main/resources/base/profile/subscribe.json中添加需要订阅的目标事件。 16 172. 修改系统配置文件/system/etc/app/install_list_capability.json,将应用的包名添加至该json文件中,修改系统配置文件可以参考[静态订阅公共事件](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/basic-services/common-event/common-event-static-subscription.md)。 18 193. 本示例编译后共有两个hap包,包括静态订阅hap包和自定义事件发布hap,需要全部安装。静态订阅hap包需要签名成系统应用并安装才可实现对目标事件的静态订阅,安装后即默认订阅了目标事件;自定义事件发布hap包直接安装即可,发布事件后即可被静态订阅方收到,由于两个hap包名一样,在桌面仅能看到一个应用图标,可以使用如下命令以拉起发布事件的hap: 20 21``` 22hdc shell aa start -a com.samples.commoneventpublisher.MainAbility -b com.samples.staticsubscriber 23``` 24 25 264. 点击关闭静态订阅按钮将不再进行静态订阅,不会收到相关通知,点击开启静态订阅会重新恢复。 27 28### 工程目录 29 30``` 31entry/src/main/ets/ 32|---Application 33| |---AbilityStage.ts 34|---MainAbility 35| |---MainAbility.ts 36|---model 37| |---Logger.ts // 日志工具 38|---pages 39| |---Index.ets // 首页 40|---StaticSubscriber 41| |---StaticSubscriber.ts // 静态订阅 42``` 43 44### 具体实现 45 46* 通过CommonEventManager.publish方法发布自定义事件,该自定义事件为数据传输事件。 47 48* 源码链接:[Index.ets](publish/src/main/ets/pages/Index.ets) 49 50* 接口参考:[@ohos.commonEventManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-commonEventManager.md) 51 52* 通过CommonEventManager.setStaticSubscriberState方法为当前应用设置静态订阅事件使能或去使能状态。 53 54* 源码链接:[Index.ets](publish/src/main/ets/pages/Index.ets) 55 56* 接口参考:[@ohos.commonEventManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-commonEventManager.md) 57 58* 通过StaticSubscriberExtensionAbility接口静态订阅已发布的自定义事件,订阅后即可自动收到该事件,收到该事件后,setNotificationEnable,ContentType方法发送通知将自定义事件数据显示在通知栏。 59 60* 源码链接:[StaticSubscriber.ts](entry/src/main/ets/StaticSubscriber/StaticSubscriber.ts) 61 62* 接口参考:[@ohos.application.StaticSubscriberExtensionAbility](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-application-staticSubscriberExtensionAbility-sys.md),[@ohos.notificationManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-notification-kit/js-apis-notificationManager.md) 63 64### 相关权限 65 66[ohos.permission.NOTIFICATION_CONTROLLER](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionnotification_controller) 67 68### 依赖 69 70不涉及 71 72### 约束与限制 73 741.本示例仅支持标准系统上运行,支持设备:RK3568。 75 762.本示例为Stage模型,支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)。 77 783.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。 79 804.静态订阅仅支持系统应用,需要配置系统应用签名,可以参考[特殊权限配置方法](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/AccessToken/determine-application-mode.md),把配置文件中的“apl”字段信息改为“system_core”。 81 825.本示例开发中需要手动替换Full SDK才能编译通过,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md)。 83 846.实现静态订阅的应用需要经过性能功耗团队评审符合功耗要求,如果您希望在调试阶段尝试使用该功能,可修改系统配置文件/system/etc/app/install_list_capability.json,将待调试应用的包名添加至json文件中。 85 867.修改系统配置文件可以参考[静态订阅公共事件](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/basic-services/common-event/common-event-static-subscription.md)。 87 888.本示例需要使用DevEco Studio 4.0 Beta2 (Build Version: 4.0.0.400 构建 2023年8月2日)及以上版本才可编译运行。 89 90### 下载 91 92如需单独下载本工程,执行如下命令: 93 94``` 95git init 96git config core.sparsecheckout true 97echo code/SystemFeature/ApplicationModels/StaticSubscriber/ > .git/info/sparse-checkout 98git remote add origin https://gitee.com/openharmony/applications_app_samples.git 99git pull origin master 100``` 101