第13次课 公共事件与通知_第1页
第13次课 公共事件与通知_第2页
第13次课 公共事件与通知_第3页
第13次课 公共事件与通知_第4页
第13次课 公共事件与通知_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《鸿蒙应用安全开发》在线开放课程项目3设计闹钟程序-通知主讲:本课程团队目录Contents项目3设计闹钟程序-公共事件与通知一、公共事件简介二、公共事件开发三、通知简介四、通知发布五、总结与拓展一、

公共事件简介鸿蒙通过公共事件服务(CommonEventService,CES)为应用程序提供订阅、发布、退订公共事件的能力。每个应用都可以按需订阅公共事件,订阅成功,当公共事件发布时,系统会将其发送给对应的应用。这些公共事件可能来自系统、其他应用和应用自身。按系统角度分类系统公共事件自定义公共事件按发送方式分类无序公共事件有序公共事件粘性公共事件一、

公共事件简介每个应用都可以订阅自己感兴趣的公共事件,订阅成功后且公共事件发布后,系统会把其发送给应用。这些公共事件可能来自系统、其他应用和应用自身。HarmonyOS提供了一套完整的API,支持用户订阅、发送和接收公共事件。发送公共事件需要借助CommonEventData对象,接收公共事件需要继承CommonEventSubscriber类并实现onReceiveEvent回调函数。1.1、

按系统角度分类-系统公共事件系统公共事件定义与范围系统公共事件特点系统公共事件应用案例这些事件对系统运行至关重要,保障系统功能正常。官方枚举列表详细记录了目前支持的系统公共事件。在系统更新时,系统公共事件确保各组件协同工作。例如,系统通知应用更新,各服务按需响应,保障更新顺利。系统公共事件是系统内部定义的事件,仅系统应用和服务可发布。如鸿蒙系统中应用程序包的安装、更新、卸载等操作。1.2、

按系统角度分类-自定义公共事件自定义公共事件定义与目的应用开发者自定义公共事件,实现跨进程通信。用于不同应用或组件间传递特定信息或指令。自定义公共事件优势提高应用间交互灵活性,增强系统整体功能。可根据实际需求定制事件类型和内容。自定义公共事件开发注意事项开发者需遵循系统规范,确保事件安全可靠。合理设计事件结构,避免对系统性能造成影响。1.3、

按发送方式分类-无序公共事件事件服务转发时,不考虑订阅者接收情况,顺序随机。适用于对事件接收顺序无要求的场景。多个订阅者接收同一事件,无需按特定顺序处理。如系统广播消息,各订阅者独立处理。发送效率高,系统资源占用少,适合大量事件分发。简化事件管理,降低系统复杂性。无序公共事件定义与特点无序公共事件应用场景无序公共事件优势1.4、

按发送方式分类-有序公共事件按订阅者优先级发送,高优先级先接收,相同优先级随机。需要明确优先级设置,确保事件按需传递。优先级设置需合理,避免高优先级订阅者阻塞。系统需有效管理优先级,确保事件高效传递。事件处理有先后顺序要求,如任务调度、资源分配。确保关键订阅者优先获取事件,保障系统关键功能。有序公共事件定义与规则有序公共事件挑战与应对有序公共事件应用场景1.4、

按发送方式分类-粘性公共事件粘性公共事件定义与特性订阅者可收到订阅前已发送的事件,需特定权限。适用于需要回溯事件的应用场景。粘性公共事件应用场景如系统状态事件,新订阅者可获取历史状态信息。便于应用快速了解系统前期运行情况。粘性公共事件权限与安全发送粘性事件需申请特定权限,限制使用范围。确保事件安全,防止敏感信息泄露。二、公共事件开发关于公共事件的处理,包括公共事件动态订阅、公共事件动态取消以及公共事件发布。动态订阅定义动态订阅是指应用在运行时对特定公共事件进行订阅,以便在事件发生时接收通知。例如,某应用订阅电量过低事件,以便在电量不足时自动调整运行状态。动态订阅使应用能够实时响应关键事件,提高系统的灵活性和响应速度。比如,应用可根据网络连接事件动态调整数据传输策略,优化用户体验。动态订阅优势动态订阅广泛应用于系统资源管理、用户行为监测和设备状态监控等领域。例如,应用订阅用户登录事件,以便在用户登录时进行个性化设置。动态订阅应用场景2.1、公共事件的开发-动态订阅操作流程首先需要导入相关的公共事件处理模块,这是进行订阅操作的基础。例如,在Python中可能需要导入common_event模块。导入模块创建包含订阅者身份信息和订阅事件类型的对象,用于标识订阅者。例如,创建一个对象,指定订阅者为某应用,订阅事件为电量过低。创建订阅者信息创建订阅回调函数,该函数会在接收到事件时触发,用于处理事件。例如,回调函数可在收到电量过低事件时关闭非必要任务。创建订阅回调函数调用公共事件服务的订阅方法,创建订阅者并保存返回的订阅者对象。例如,调用subscribe方法,保存返回的订阅者对象以供后续操作。创建订阅者并保存对象2.2、公共事件的开发-动态取消动态取消是指订阅者在完成业务需求后,主动取消对公共事件的订阅。例如,应用在完成电量管理后取消电量过低事件的订阅。动态取消定义动态取消可以减少系统资源的占用,提高系统的整体性能。比如,取消不必要的事件订阅可以减少事件处理的开销。动态取消优势动态取消适用于临时性事件订阅需求,如临时监控网络状态或设备状态。例如,应用在完成数据传输后取消网络连接事件的订阅。动态取消应用场景2.3、公共事件的开发-动态取消操作流程导入模块导入公共事件处理模块,以便调用取消订阅的方法。例如,在Python中导入common_event模块。创建订阅者信息创建包含订阅者身份信息和订阅事件类型的对象,用于标识要取消的订阅。例如,创建一个对象,指定订阅者为某应用,订阅事件为电量过低。创建订阅者并保存对象调用公共事件服务的订阅方法,创建订阅者并保存返回的订阅者对象。例如,调用subscribe方法,保存返回的订阅者对象以供后续取消操作。调用unsubscribe方法调用unsubscribe方法,传入订阅者对象,取消对特定事件的订阅。例如,调用unsubscribe方法取消电量过低事件的订阅。2.4、公共事件的开发-公共事件发布事件发布是指发布者通过公共事件服务发布自定义事件,供订阅者接收。例如,系统发布电量过低事件,通知所有订阅该事件的应用。事件发布定义事件发布可以实现应用之间的解耦,提高系统的可扩展性。比如,通过发布事件,不同应用可以独立开发,只需关注事件的发布和订阅。事件发布优势事件发布广泛应用于系统状态通知、用户行为广播和设备状态更新等领域。例如,系统发布用户登录事件,通知所有订阅该事件的应用进行处理。事件发布应用场景2.5、公共事件的开发-公共事件发布操作流程导入公共事件处理模块,以便调用事件发布的方法。导入模块创建包含事件类型、数据等信息的事件对象,用于描述要发布的事件。例如,创建一个电量过低事件对象,包含电量值等数据。创建事件对象调用publish方法,传入事件对象,发布事件供订阅者接收。例如,调用publish方法发布电量过低事件,通知所有订阅者。调用publish方法三、

通知的简介-使用场景鸿蒙通过通知系统服务(AdvancedNotificationService,ANS)对通知类型的消息进行管理,支持多种通知类型,如基础类型通知、进度条类型通知。短消息提醒功能应用通过通知接口发送短消息通知,用户可在通知栏查看消息内容。点击通知可直接打开应用,方便用户快速查看详细信息。即时消息提醒功能即时通讯应用利用通知系统发送消息提醒,即使应用在后台也能及时通知用户。通知栏展示消息发送者和简要内容,提升沟通效率。应用推送消息展示应用通过通知系统推送广告、版本更新等信息,吸引用户关注。通知栏展示推送消息,用户可选择点击查看或忽略。3.1、

通知的简介-使用场景广告推送通知应用通过通知接口发送广告通知,吸引用户关注产品或服务。通知栏展示广告内容,用户点击可进入广告详情页。版本更新通知应用通过通知系统提醒用户版本更新,告知更新内容和优势。用户点击通知可直接下载更新,提升用户体验。事件进度通知应用通过通知系统展示正在进行的事件进度,如下载进度。通知栏实时更新进度信息,用户可随时查看。3.2、

通知的简介-业务流程负责接收通知发送端的通知消息,并分发给通知订阅端。作为通知管理的核心,确保通知的正确传递和展示。通知订阅端通知子系统只能为系统应用,如通知中心,负责接收和展示通知。通知中心默认订阅手机上所有应用的通知,开发者无需关注。可以是三方应用或系统应用,负责产生和发送通知消息。开发者需重点关注通知发送端的开发和调试。通知发送端3.2、通知的简介-业务流程应用在通知发布前调用requestEnableNotification()方法,弹窗让用户选择是否允许发送通知。后续再次调用时不再弹窗,确保用户授权的便捷性。请求通知授权开发者需在通知发送端实现通知的生成和发送逻辑。包括构造通知内容、设置通知属性等。通知发送端开发通知订阅端接收通知后进行展示,如在通知栏显示通知内容。用户可通过通知栏查看通知并进行相应操作。通知订阅端展示四、通知发布-基础类型通知发布的具体步骤适用场景广泛主要应用于发送短信息、提示信息、广告推送等场景。满足多种常见通知需求,提升应用的交互性和用户体验。支持多种文本类型支持普通文本类型、长文本类型、多行文本类型和图片类型。开发者可根据通知内容选择合适的文本类型。发布流程简单发布流程包括导入模块、请求通知授权、构造NotificationRequest对象并发布通知。开发者可快速实现基础类型通知的发布。4.1、通知发布-基础类型通知发布的具体步骤调用requestEnableNotification()方法,获取用户授权。授权成功后才能发布通知。请求通知授权根据通知内容构造NotificationRequest对象,设置通知属性。调用发布接口将通知发送到通知子系统。构造通知对象并发布在代码中导入通知系统服务相关模块,为通知发布做准备。确保代码能够正确调用通知接口。导入模块4.2、通知发布-进度条通知发布的特点主要应用于文件下载、事务处理进度显示等场景。为用户提供直观的进度反馈,增强应用的可用性。应用场景明确01鸿蒙提供了进度条模板,开发者可设置模板名和模板数据。通过通知子系统发送到通知栏显示,提升通知的展示效果。提供进度条模板02发布流程包括导入模块、请求通知授权、查询系统是否支持进度条模板、构造进度条模板对象并发布通知。开发者需按照规范流程进行操作。发布流程规范034.2、通知发布-进度条通知发布的具体步骤导入通知系统服务相关模块,为进度条通知发布做准备。确保代码能够正确调用通知接口。导入模块01调用requestEnableNotification()方法,获取用户授权。授权成功后才能发布通知。请求通知授权02查询系统是否支持进度条模板,确保通知发布成功。如果系统不支持,可选择其他通知类型或提示用户。查询模板支持情况03根据通知内容构造进度条模板对象,设置模板属

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论