📚往期学习笔录📝:
📝 鸿蒙(HarmonyOS)北向开发知识点记录~
📝 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
📝 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
📝 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
📝 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
📝 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
📝 记录一场鸿蒙开发岗位面试经历~
📝 持续更新中……
场景描述
- Notification Kit 提供通知发布功能,可以将应用产生的通知在客户端推送给用户。除了携带基本的文本图片信息外,还支持文件上传下载进度场景下的进度条通知,以及点击通知栏可以拉起目标应用的意图类型通知,Notification仅支持进程存在时发送通知。
- Push Kit 推送服务,是华为提供的消息推送平台,实现应用的实时消息推送,即使应用进程不在也能实时推送消息。
- Live View Kit 实况窗服务用于帮助用户聚焦正在进行的任务,方便快速查看和即时处理的通知形态多用于网约车、外卖等实时通知场景。
- AVSession Kit 提供音频视频播控服务,当创建AVSession对象,设置媒体信息并注册基础的播控回调后,播放时锁屏界面和状态栏会自动出现播放控制器。
方案描述
场景一:本地通知 Notification
1. 基础类型通知
除了基础类型通知外还包含长文本类型和多行文本类型,长文本和多行文本类型通知支持展开,通知对比如下:
方案:
发布携带图片的通知,支持横幅效果(横幅通知需在应用通知管理-提醒方式开启),通知3s(时间可自定义)后自动消除。
构造通知对象NotificationRequest:
a.选择文本类型通知,在normal下主要配置标题title和文本text即可。
b.通知携带图片需通过resourceManager.getMediaContent获取到media文件夹下图片资源后转为PixelMap,然后传递至largeIcon。
c.横幅通知,三方应用仅支持通过通知渠道SlotType设置,只有社交通信和服务提醒支持通知横幅效果且需在设置中开启横幅通知样式。
d.通知的定时发送与消除:Notification暂无定时发送能力,需依赖 代理提醒 实现,定时消除可通过autoDeletedTime设置通知消除时间。
e.点击通知拉起应用详见下文第三部分意图通知。
核心代码:
将media下资源图片转化为PixelMap对象。
let resourceManager = getContext().resourceManager;
let imageArray = await resourceManager.getMediaContent($r('app.media.icon').id);
let imageResource = image.createImageSource(imageArray.buffer);
let imagePixelMap = await imageResource.createPixelMap();
构造NotificationRequest对象。
let no