通知介绍
通知旨在让用户以合适的方式及时获得有用的新消息,帮助用户高效地处理任务。应用可以通过通知接口发送通知消息,用户可以通过通知栏查看通知内容,也可以点击通知来打开应用,通知主要有以下使用场景:
- 显示接收到的短消息、即时消息等。
- 显示应用的推送消息,如广告、版本更新等。
- 显示当前正在进行的事件,如下载等。
通知表现形式
通知会在不同场景以不同形式提示用户,例如通知在状态栏上显示为图标、在通知栏上会显示通知详细信息。重要的信息还可以使用横幅通知,浮动在界面顶部显示。
通知结构
下面以基础的文本通知为例,介绍通知的基本结构。
1. 通知小图标:表示通知的功能与类型。
2. 通知名称:应用名称或功能名称。
3. 时间:发送通知的时间,系统默认显示。
4. 展开箭头:点击标题区,展开被折叠的内容和按钮。若无折叠的内容和按钮,不显示此箭头。
5. 内容标题:描述简明概要。
6. 内容详情:描述具体内容或详情。
创建通知
本节将介绍几种常见类型通知的创建,在创建通知前需要先导入notificationManager模块,该模块提供通知管理的能力,包括发布、取消发布通知,创建、获取、移除通知通道等能力。
- import notification from '@ohos.notificationManager';
发布基础类型通知
基础类型通知主要应用于发送短信息、提示信息、广告推送等,支持普通文本类型、长文本类型、多行文本类型和图片类型,可以通过contentType指定通知的内容类型。下面以普通文本类型和图片类型为例来介绍基础通知的发布,其它基础类型您可以查阅API。
- 发布普通文本类型通知,需要设置contentType类型为ContentType.NOTIFICATION_CONTENT_BASIC_TEXT。
import notification from '@ohos.notificationManager';
@Entry
@Component
struct NotificationDemo {
publishNotification() {
let notificationRequest: notification.NotificationRequest = { // 描述通知的请求
id: 1, // 通知ID
slotType: notification.SlotType.SERVICE_INFORMATION,
content: { // 通知内容
contentType: notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, // 普通文本类型通知
normal: { // 基本类型通知内容
title: '通知内容标题',
text: '通知内容详情',
additionalText: '通知附加内容', // 通知附加内容,是对通知内容的补充。
}
}
}
notification.publish(notificationRequest).then(() => { // 发布通知
console.info('publish success');
}).catch((err) => {
console.error(`publis