目录
一.通知概述
通知简介
应用可以通过通知接口发送通知消息,终端用户可以通过通知栏查看通知内容,也可以点击通知来打开应用。
通知常见的使用场景:
-
显示接收到的短消息、即时消息等。
-
显示应用的推送消息,如广告、版本更新等。
-
显示当前正在进行的事件,如下载等。
HarmonyOS通过ANS(Advanced Notification Service,通知系统服务)对通知类型的消息进行管理,支持多种通知类型,如基础类型通知、进度条类型通知。
通知业务流程
通知业务流程由通知子系统、通知发送端、通知订阅端组成。
一条通知从通知发送端产生,通过IPC通信发送到通知子系统,再由通知子系统分发给通知订阅端。
系统应用还支持通知相关配置,如使能开关、配置参数由系统配置发起请求,发送到通知子系统存储到内存和数据库。
广播的类型
- NOTIFICATION_CONTENT_BASIC_TEXT:普通文本类型
- NOTIFICATION_CONTENT_LONG_TEXT:长文本类型
- NOTIFICATION_CONTENT_MULTILINE:多行文本类型
- NOTIFICATION_CONTENT_PICTURE:图片类型
广播的类型主要分为普通文本类型,发送普通的文本广播;长文本类型,发送长文本类型的广播;多行文本类型,可以将文字多行显示发送广播;发送图片类型的广播。
接口说明
通知发布接口如下表所示,不同发布类型通知由NotificationRequest的字段携带不同的信息。
接口名 |
描述 |
---|---|
publish(request: NotificationRequest, callback: AsyncCallback<void>): void |
发布通知。 |
cancel(id: number, label: string, callback: AsyncCallback<void>): void |
取消指定的通知。 |
cancelAll(callback: AsyncCallback<void>): void; |
取消所有该应用发布的通知。 |
开发前期准备
导包
|
二.发送普通文本类型通知
1.先初始化广播的请求request
|
2.然后发送广播
|
3.显示效果如下
点击发送普通广播按钮后下拉通知栏
三.发送长文本类型广播
长文本类型通知继承了普通文本类型的字段,同时新增了长文本内容、内容概要和通知展开时的标题。通知默认显示与普通文本相同,展开后,标题显示为展开后标题内容,内容为长文本内容。
1.构建发送广播的参数request
|
2.然后发送广播
|
3.显示效果如下
点击按钮后然后下拉通知栏显示效果
注意事项
- 目前测试发现长文本要足够长,如果不够长则只会显示出长文本内容,普通文本内容显示不出来
四.发送多行文本类型广播
多行文本类型通知继承了普通文本类型的字段,同时新增了多行文本内容、内容概要和通知展开时的标题。通知默认显示与普通文本相同,展开后,标题显示为展开后标题内容,多行文本内容多行显示。
1.构建发送广播的参数request
|
2.发送广播
|
3.显示效果
点击后下拉通知栏
注意事项
- 如果文本只有一行,会只显示出多行文本类型的内容,不显示普通文本类型的内容
五.发送图片类型广播
图片类型通知继承了普通文本类型的字段,同时新增了图片内容、内容概要和通知展开时的标题,图片内容为PixelMap型对象,其大小不能超过2M。
代码
|
显示效果
点击按钮后下拉通知栏显示
六.发送意图类型广播
意图类型的广播就是发送后可以点击并跳转到页面的广播,意图类型通知继承了普通文本类型的字段,同时新增了wantAgent字段,此参数的跳转到哪个页面的意思
1.创建wantAgent字段
|
|
如上得到的data就是wantAgent参数
2.构建发送广播的参数request
|
3.发送广播
|
4.显示结果
点击后下拉通知栏点击通知栏