基于ArkTS语言的OpenHarmony APP应用开发:自定义通知 原创
1、程序介绍
本示例展示了如何初始化不同类型通知的通知内容以及通知的发布、取消,包括基本类型、长文本类型、多行文本类型、图片类型、带按钮的通知、点击可跳转到应用的通知。
本案例已在OpenHarmony凌蒙派-RK3568开发板验证通过,具体代码可参考:https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk3568-openharmony/tree/master/samples/d04_CustomNotification
API接口:9
2、知识准备
2.1、Notification模块
本模块提供通知管理的能力,包括发布、取消发布通知,创建、获取、移除通知通道,订阅、取消订阅通知,获取通知的使能状态、角标使能状态,获取通知的相关信息等。
以下将简要讲解本次实验应用的知识点。如需详细接口说明,请参看:Notification模块官方说明
2.1.1、导入模块
2.1.2、Notification简介
(1)publish:发布一条通知,NotificationRequest 参数说明如下:
- id:通知ID,可通过此ID取消该通知。
- content:通知内容。
- isUnremovable:是否可移除。
- extraInfo:扩展参数。
- smallIcon:通知小图标。
- largeIcon:通知大图标。
- isFloatingIcon:是否显示状态栏图标。
- wantAgent:点击通知跳转的WantAgent。
- autoDeletedTime:通知自动清楚的时间。
(2)cancel:取消与指定 id 相匹配的已发布通知。
(3)cancelAll:取消所有已发布的通知。
(4)getActiveNotificationCount:获取当前应用的活动通知数。
(5)getActiveNotifications:获取当前应用的所有活动通知。
2.1.3、publish函数
作用:发布通知(Promise形式)。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
request | NotificationRequest | 是 | 用于设置要发布通知的内容和相关配置信息。 |
示例:
2.1.4、ContentType类型
系统能力:以下各项对应的系统能力均为SystemCapability.Notification.Notification
名称 | 值 | 说明 |
---|---|---|
NOTIFICATION_CONTENT_BASIC_TEXT | NOTIFICATION_CONTENT_BASIC_TEXT | 普通类型通知。 |
NOTIFICATION_CONTENT_LONG_TEXT | NOTIFICATION_CONTENT_LONG_TEXT | 长文本类型通知。 |
NOTIFICATION_CONTENT_PICTURE | NOTIFICATION_CONTENT_PICTURE | 图片类型通知。 |
NOTIFICATION_CONTENT_CONVERSATION | NOTIFICATION_CONTENT_CONVERSATION | 社交类型通知。 |
NOTIFICATION_CONTENT_MULTILINE | NOTIFICATION_CONTENT_MULTILINE | 多行文本类型通知。 |
3、程序解析
3.1、创建NotificationOperations对象
NotificationOperations主要用来发布不同类型的通知。具体流程如下:
首先,引入Notification模块。
其次,定义一个NotificationOperations类。
NotificationOperations类定义为默认类对象,方便主页面调用。
最后,在NotificationOperations类中声明不同类型的通知,以供主页面调用。
3.1.1、发布基本类型通知
3.1.2、发布长文本类型通知
3.1.3、发布多行文本类型通知
3.1.4、发布图片类型通知
3.1.5、发布带按钮的通知
3.1.6、发布点击跳转到应用的通知
3.2、主页面
主页面负责定义按钮以及调用发布函数。
4、项目编译
4.1、打开项目
打开DevEco Studio,再打开自定义通知项目。
4.2、编译程序
点击菜单栏上的“Build” -> “Rebuild Project”。如果出现无法编译,则注意查看Event Log界面。如下所示:
点击Run 'npm install'
,让DevEco Studio安装相关依赖包。
重新点击菜单栏上的“Build” -> “Rebuild Project”。出现如下错误:
点击上图红色框部分,安装相关服务。
重新点击菜单栏上的“Build” -> “Rebuild Project”,编译成功。
4.3、安装程序
点击“entry”按钮,将项目程序安装到设备端。如下图所示:
如果出现下述报错,表示无法安装。如图所示:
点击上图红色框的蓝色字体,弹出"Project Structure"对话框,点击"Apply",再点击"OK"。如图所示:
重新点击“entry”按钮,将项目程序安装到设备端。
5、运行结果
效果预览:
收藏了
顶!学习