更新记录
1.1.0(2026-04-03)
- 新增
isPosted字段,区分通知新增和通知移除事件 - 新增
removeNotificationCallback()方法,支持移除回调防止内存泄漏 - 优化
checkPermission权限检查,使用ComponentName精确匹配包名 - 优化
onNotificationRemoved实现,通知移除时同样触发回调 - 提取公共方法
buildNotificationData减少重复代码
1.0.0(2026-02-04)
基于UTS开发的Android通知栏消息监听插件,支持实时拦截并获取微信、QQ等第三方App的通知栏消息,包含包名、标题、正文及时间戳,支持权限自动检测与引导开启。
平台兼容性
uni-app(4.51)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | × | × | √ | √ | √ | × | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | - | × | × |
uni-app x(4.51)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | √ | × | × | × |
jwt-tzl 通知栏监听插件
简介
jwt-tzl 是一款基于 uniapp UTS 开发的 Android 通知栏消息监听插件。它可以实时拦截系统中各个 App(如微信、QQ 等)推送到通知栏的消息,并获取消息的包名、标题、内容及时间。同时支持监听通知被移除事件。
功能特性
- 实时监听:实时获取通知栏新增和移除的消息。
- 权限管理:内置通知使用权检查及一键跳转系统设置页申请权限。
- 数据全面:提供发件 App 包名、通知标题、通知正文、时间戳及事件类型(新增/移除)。
- 生命周期管理:支持注册和移除回调,避免内存泄漏。
- UTS 实现:高性能,无缝对接 uniapp 业务层。
平台支持
- Android 5.0 (API 21) 及以上系统。
快速上手
1. 引入插件
在需要监听通知的页面中引入相关 API:
import {
checkPermission,
requestPermission,
onSetNotificationCallback,
removeNotificationCallback
} from '@/uni_modules/jwt-tzl';
2. 初始化监听
建议在 onLoad 中设置回调,onShow 中刷新权限状态,onUnload 中移除回调:
export default {
data() {
return {
hasPermission: false,
logs: []
}
},
onLoad() {
this.hasPermission = checkPermission();
onSetNotificationCallback((data) => {
console.log(data.isPosted ? '收到通知:' : '通知移除:', data);
this.logs.unshift({
time: new Date(data.when).toLocaleTimeString(),
packageName: data.packageName,
title: data.title,
text: data.text,
isPosted: data.isPosted
});
});
},
onShow() {
this.hasPermission = checkPermission();
},
onUnload() {
removeNotificationCallback();
},
methods: {
startService() {
const hasPermission = checkPermission();
if (!hasPermission) {
uni.showModal({
title: '权限申请',
content: '监听通知需要授予"通知使用权",请在设置页中勾选本应用',
confirmText: '去设置',
success: (res) => {
if (res.confirm) {
requestPermission();
}
}
});
}
}
}
}
API 说明
onSetNotificationCallback(callback)
设置通知监听的回调函数。当有新通知到达或通知被移除时都会触发。
- callback:
(data: NotificationData) => void -
NotificationData 属性说明: 属性名 类型 说明 packageName string 发送通知的应用包名 (如: com.tencent.mm) title string 通知标题 text string 通知正文内容 when number 通知产生的时间戳 (毫秒) isPosted boolean 事件类型:true 表示收到新通知,false 表示通知被移除
removeNotificationCallback()
移除已注册的通知回调,释放资源。建议在页面 onUnload 时调用。
checkPermission()
检查当前应用是否已获得"通知使用权"。
- 返回值:
boolean(true: 已获得, false: 未获得)
requestPermission()
跳转到 Android 系统设置中的"通知使用权"页面,引导用户手动开启权限。
注意事项
- 必须手动开启权限:由于 Android 系统安全机制,通知监听权限必须由用户手动在系统设置中授予。
- 自定义基座:使用 UTS 插件必须进行"自定义基座"打包后才能运行调试。
- 白名单配置:在
manifest.json中已自动配置了BIND_NOTIFICATION_LISTENER_SERVICE权限,请勿删除。 - 后台运行:建议配合原生保活或开启应用自启动权限,以确保服务在后台稳定运行。
- 回调清理:页面销毁时务必调用
removeNotificationCallback()移除回调,防止内存泄漏。

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