赞
踩
本示例主要展示了公共事件相关的功能,实现了一个检测用户部分行为的应用。具体而言实现了如下几点功能:
1.通过订阅系统公共事件,实现对用户操作行为(亮灭屏、锁屏和解锁屏幕、断联网)的监测;
2.通过在用户主动停止监测行为时发布自定义有序公共事件,实现对用户主动触发监听行为的持久化记录;
3.通过在用户设置对某一事件的监听状态时发布粘性事件,记录下本次应用运行期间允许监听的事件列表,同时在应用退出时将临时允许的修改为不允许;
4.通过订阅指定应用事件,实现用户对指定卡片发送事件的监听。
使用说明:
1.安装编译生成的hap包,依赖包hap,桌面上显示应用图标如下,点击图标即可进入应用。
2.进入应用显示菜单页,可选择“进入”,“历史”,“设置”及“关于”几个选项。
3.点击“进入”后跳转至主页面,点击主页面“开始监控”按钮,将开始监听系统公共事件,并进行计时,此时按钮内容变更为“停止监听”;点击停止监听按钮,页面上将显示本次监听时长及监听期间收到的干扰信息汇总,并在页面右下角显示“查看详情”按钮,点击按钮将跳转至详情页,显示监听期间收到的干扰信息,应用当前仅监听了亮灭屏、锁屏和解锁屏幕、断联网等用户可操作的系统公共事件,后续可根据需求快速扩展。
4.返回至应用菜单页面,点击“历史”可查看用户操作监听的历史记录,当前支持每次运行期间最多存储10条历史记录,超过10条后将删除历史数据。
5.返回至应用菜单页面,点击“设置”可进行具体系统事件的监听配置,应用提供了“一直”、“仅本次”及“从不”三个选项,其中“仅本次”选项是指本次应用运行期间将监听特定系统公共事件,应用退出后该选项将自动调整为“从不”。
6.在设置页面,点击“自定义事件定向订阅”进入订阅页面,
7.返回至应用菜单页面,点击“关于”可查看应用版本信息及本示例的说明。
CustomCommonEvent
- entry/src/main/ets/
- |---Application
- | |---MyAbilityStage.ts
- |---component
- | |---Header.ets // 头部组件
- |---entryformability
- | |---EntryFormAbility.ts // 卡片提供方
- |---feature
- | |---HistoryFeature.ts
- | |---LaunchFeature.ts
- | |---MainFeature.ts
- | |---SettingFeature.ts
- |---LauncherAbility
- | |---LauncherAbility.ts
- |---MainAbility
- | |---MainAbility.ts
- |---model
- | |---Consts.ts // 数据定义
- | |---Logger.ts // 日志打印
- | |---SurveillanceEventsManager.ts // 公共事件模块
- | |---Utils.ts
- |---pages
- | |---About.ets // 关于页面
- | |---Detail.ets // 详情页面
- | |---History.ets // 历史页面
- | |---jumpToCommonEvent.ets // 自定义订阅事件页面
- | |---Launch.ets // 发起页面
- | |---Main.ets // 进入页面
- | |---Setting.ets // 设置页面
- |---publishcard
- | |---pages
- | | |---PublishCard.ets // 卡片页面
CustomCommonEventRely
- entry/src/main/ets/
- |---entryformability
- | |---EntryFormAbility.ts // 发布事件
- |---pages
- | |---Index.ets
- |---widget
- | |---pages
- | | |---PublishCard.ets // 发布事件的卡片
ohos.permission.COMMONEVENT_STICKY
ohos.permission.REQUIRE_FORM
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
本应用依赖CustomCommonEventRely应用进行运行。
1.本示例仅支持标准系统上运行,支持设备:RK3568。
2.本示例为Stage模型,支持API11版本SDK,版本号:4.1.3.1;
3.本示例涉及使用系统接口:FormComponent ,需要手动替换Full SDK才能编译通过;
4.本示例需要使用DevEco Studio 3.1.1 Release (Build Version: 3.1.0.501, built on June 20, 2023)才可编译运行;
5.本示例涉及ohos.permission.REQUIRE_FORM和ohos.permission.GET_BUNDLE_INFO_PRIVILEGED权限为system_basic级别,需要配置高权限签名;
如需单独下载本工程,执行如下命令:
- git init
- git config core.sparsecheckout true
- echo code/BasicFeature/Notification/CustomCommonEvent/ > .git/info/sparse-checkout
- git remote add origin https://gitee.com/openharmony/applications_app_samples.git
- git pull origin master
为了能够让大家跟上互联网时代的技术迭代,在这里我特邀了几位行业大佬整理出一份最新版的鸿蒙学习提升资料,有需要的小伙伴自行领取,限时开源,先到先得~~~~
领取以下高清学习路线原图请点击→《鸿蒙基础入门学习指南》纯血鸿蒙HarmonyOS基础技能学习路线图
领取以上完整高清学习路线图,请点击→《鸿蒙HarmonyOS分布式项目实战》小编自己整理的部分学习资料(包含有高清视频、开发文档、电子书籍等)
-应届生/计算机专业
通过学习鸿蒙新兴技术,入行互联网,未来高起点就业。
-0基础转行
提前布局新方向,抓住风口,自我提升,获得更多就业机会。
-技术提升/进阶跳槽
发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术,享受蓝海红利。
鸿蒙开发学习是一个系统化的过程,从基础知识的学习到实战技能的锤炼,再到对前沿技术的探索,每一环节都至关重要。希望这份教程资料能帮助您快速入门并在鸿蒙开发之路上步步攀升,成就一番事业。让我们一起乘风破浪,拥抱鸿蒙生态的广阔未来!
如果你觉得这篇内容对你有帮助,我想麻烦大家动动小手给我:点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
关注我,同时可以期待后续文章ing,不定期分享原创知识。
想要获取更多完整鸿蒙最新VIP学习资料,请点击→《鸿蒙 (Harmony OS)开发学习手册》
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。