更新记录
1.0.0(2026-06-09)
更新日志:
- 新增 App 端通知清理能力。
- 支持按 messageId 清除指定通知。
- 支持按通知标题和内容兜底匹配通知。
- Android 支持清理当前 App 发布的活动通知。
- iOS 支持清理已投递通知。
- 提供 uni-app x 示例页面和使用说明文档。
平台兼容性
uni-app x(4.76)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | 5.0 | 12 | 12 | - |
Notification Cleaner 使用示例
一个适用于 uni-app x App 端的通知清理 UTS 插件,可按消息标识、标题或内容清除通知栏中的指定通知。
能力
- Android:遍历当前 App 的活动通知,并按消息标识、标题或内容清除匹配通知
- iOS:通过
UNUserNotificationCenter清除已投递通知 - HarmonyOS:预留同名接口,当前返回
false
引入插件
import { NotificationCleaner } from '@/uni_modules/notification-cleaner'
基础用法
const cleared = NotificationCleaner.clearByMessage(
'msg_10001',
'系统通知',
'您有一条新消息'
)
返回值为 boolean:
true:已发送清理请求,或已匹配并清理通知false:当前平台不支持、参数为空、系统通知列表不可用,或未找到可清理通知
参数说明
clearByMessage(messageId, title, content)
messageId:业务消息 ID,优先用于匹配通知title:通知标题,messageId匹配不到时可用于兜底匹配content:通知内容,messageId匹配不到时可用于兜底匹配
三个参数不建议同时为空。实际业务中建议优先传入稳定的 messageId。
准备测试通知
请先通过业务推送、本地通知或 uni-push 创建一条通知,并确保 payload、标题或内容中包含可匹配的信息。
如果项目已经集成 uni-push,可参考:
uni.createPushMessage({
title: '系统通知',
content: '您有一条新消息',
cover: false,
sound: 'system',
payload: {
messageId: 'msg_10001',
title: '系统通知',
content: '您有一条新消息'
}
})
注意:uni.createPushMessage 需要自定义基座包含 uni-push 模块。插件本身不依赖 uni-push。
创建通知后,再调用:
NotificationCleaner.clearByMessage('msg_10001', '系统通知', '您有一条新消息')
即可验证通知清理效果。
推送点击场景
在真实业务中,常见用法是在用户点击推送后,读取推送 payload 中的消息标识,然后清除通知栏中的对应通知:
function clearClickedNotification(payload : UTSJSONObject | null) : void {
if (payload == null) return
const messageId = payload.getString('messageId') ?? ''
const title = payload.getString('title') ?? ''
let content = payload.getString('content') ?? ''
if (content == '') content = payload.getString('body') ?? ''
NotificationCleaner.clearByMessage(messageId, title, content)
}
Android 说明
Android 端通过 NotificationManager.getActiveNotifications() 获取当前 App 的活动通知,仅清除当前 App 自己发布的通知。
要求:
- Android 6.0 及以上
- 通知需要由当前 App 创建
- 推荐在 payload、extras 或通知内容中带上业务
messageId
iOS 说明
iOS 端通过 UNUserNotificationCenter 清除已投递通知:
- 优先尝试按
messageId作为通知 identifier 清理 - 同时会遍历已投递通知,按
userInfo、标题、内容做兜底匹配
建议创建本地通知或远程通知时,在 payload 中携带业务 messageId。
HarmonyOS 说明
HarmonyOS 当前提供同名接口,默认返回 false。如果业务需要鸿蒙通知清理能力,可在此接口基础上继续扩展。
运行要求
本插件为 App 原生能力插件,请使用自定义基座或正式打包进行测试。
完整页面示例
项目首页 pages/index/index.uvue 已包含:
- 测试说明
- 按消息 ID 清除通知
- 重置示例参数
可直接运行示例项目查看效果。

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 5
赞赏 0
下载 12207722
赞赏 1918
赞赏
京公网安备:11010802035340号