24号直播公共事件和通知开发的课堂笔记 原创 精华
今晚要搞的事情:
公共事件:系统公共事件和自定义公共事件
通知:通知栏上显示的提醒信息
公共事件相关基础类:
通知相关基础类:
公共事件代码实现
第一步:发布公共事件,开发者可以发布四种公共事件:无序的公共事件、带权限的公共事件、有序的公共事件、粘性的公共事件。
第二步:订阅公共事件。
第三步:退订公共事件。
界面实现:
发布自定义无序的公共事件:
订阅处理事件:
自定义的订阅者对象:
退订公共事件:
发布带权限的公共事件:
带权限首先非系统已定义的权限,需要先在config.json中自定义,才可以申请使用。
发布事件的时候带上权限:
订阅者也要配置申请上面我们自定义的权限:
发布有序的公共事件:
构造CommonEventPublishInfo对象,通过setOrdered(true)指定公共事件属性为有序公共事件,也可以指定一个最后的公共事件接收者。
订阅处理事件:
发布粘性的公共事件:
构造CommonEventPublishInfo对象,通过setSticky(true)指定公共事件属性为粘性公共事件。
发布者首先在config.json中申请发布粘性公共事件所需的权限
发布粘性公共事件。
通知代码实例:
界面实现:
发布普通文本通知:
NO1.创建NotificationSlot,设置通知的震动,锁屏模式,重要级别等
NO2.构建NotificationRequest对象,绑定slot对象
NO3.调用request对象的setContent()设置通知的内容和类型
NO4.调用NotificationHelper的publishNotification()发布通知。
取消通知
取消通知分为取消指定单条通知和取消所有通知,应用只能取消自己发布的通知。
取消所有通知:
最后在玩儿个简单的点击通知跳转到新Ability:
意图代理相关基础类:
实现简单的点击通知跳转打开一个PageAbility
通知中添加IntentAgent的代码示例如下:
公共事件和通知可以用JS编程吗?
现在还没看到可以!以后肯定会支持的!以后,js的技术线里开发app完全不用java的,但现在还不行!
现在可以了,请参考:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/common-event-0000001281001066