uniapp 监听通知栏消息插件(支持白名单、黑名单、过滤) Ba-NotifyListener
创始人
2024-03-15 06:07:26
0

简介(下载地址)

Ba-NotifyListener 是一款实时监听通知栏消息的uniapp插件。支持白名单、黑名单;支持监听消息移除;支持自定义过滤条件(如短信验证码)等。

  • 支持监听所有通知栏消息(包含id、ticker、标题、内容、时间等等内容)
  • 支持白名单(需要监听的应用,设置后其他应用都不监听)
  • 支持黑名单(不想监听的应用,不设置白名单时有效)
  • 支持自定义内容过滤条件(如过滤短信验证码,默认过滤4~8位数字)

相关插件

应用消息通知插件(多种样式,新增支持常驻通知模式) Ba-Notify(文档)

应用未读角标插件 Ba-Shortcut-Badge (文档)

短信监听(验证码) Ba-Sms(文档)

截图展示

在这里插入图片描述

使用方法

script 中引入组件

	const listener = uni.requireNativePlugin('Ba-NotifyListener');

script 中调用(示例参考,可根据自己业务和调用方法自行修改)

	const listener = uni.requireNativePlugin('Ba-NotifyListener'); //本插件const notify = uni.requireNativePlugin('Ba-Notify'); //应用通知插件(https://ext.dcloud.net.cn/plugin?id=9231)export default {data() {return {whiteList: [ //白名单'com.ba.UniTemp','com.tencent.mobileqq', //qq'com.tencent.mm', //微信'com.android.mms', //短信'com.android.incallui', //来电],blackList: [ //黑名单'com.ba.UniTemp',],msgList: []}},methods: {setListener(flag = 0) { //设置监听let params = {};if (flag == 1) {params = {whiteList: this.whiteList,//regex: "(\\d{4,8})",正则表达式,默认为匹配4-8位的数字};} else if (flag == 2) {params = {blackList: this.blackList,//regex: "(\\d{4,8})",正则表达式,默认为匹配4-8位的数字};}listener.setListener(params, res => {console.log(res);if (res.ok && res.data) {if (res.data.listenType == 1) {this.msgList.push('收到消息:');this.msgList.push(JSON.stringify(res.data));if (res.data.result)this.msgList.push("解析结果:" + res.data.result);}if (res.data.listenType == 2) {this.msgList.push('移除消息:');this.msgList.push(JSON.stringify(res.data));}}uni.showToast({title: res.msg,icon: "none",duration: 3000})});},isHasPermission() { //是否开启获取通知权限listener.isHasPermission(res => {console.log(res);uni.showToast({title: res.ok ? (res.data && res.data.isHasPermission ? '已开启' : '未开启') : res.msg,icon: "none",duration: 3000})});},openPermission() { //跳转到通知权限设置界面(仅判断未打开时跳转)listener.openPermission(res => {let msg = res.msg;if (res.data && res.data.isHasPermission) {msg = res.data.isHasPermission ? "权限打开" : "权限关闭";}uni.showToast({title: msg,icon: "none",duration: 3000})});},setPermission() { //跳转到通知权限设置界面(开不开都跳转)listener.setPermission(res => {console.log(res);let msg = res.msg;if (res.data && res.data.isHasPermission) {msg = res.data.isHasPermission ? "权限打开" : "权限关闭";}uni.showToast({title: msg,icon: "none",duration: 3000})});},sendNotify() {//用于测试通知notify.show({channelID: '0',channelName: '普通通知',ID: 1,notifyType: 0,ticker: 'Ticker',title: 'title',content: "【某某应用】验证码:708563。尊敬的用户,您正在...,我们不会向您索要此验证码,切勿告知他人!",extend: "附加参数",},(res) => {console.log(res)});}}}		

api 列表

方法名说明
setListener设置监听
isHasPermission是否开启获取通知权限
openPermission跳转到通知权限设置界面(仅判断未打开时跳转)
setPermission跳转到通知权限设置界面(开不开都跳转)

setListener 方法参数

设置监听

属性名类型必填默认值说明
whiteListArrayfalse‘’白名单
blackListArrayfalse‘’黑名单
regexStringfalse‘’正则表达式过滤短信内容,默认过滤4~8位数字验证码,如’(\d{4,8})’

监听通知的参数

判断 res.data 有内容(参照使用方法),监听接收到的通知

属性名类型说明
listenTypeNumber1 接收到通知 2 移除通知
packageNameString应用包名
idNumber通知 id
postTimelong时间(毫秒)
postTimeSString时间(yyyy-MM-dd HH:mm:ss 格式)
tickerTextString通知 ticker,在顶部状态栏中的提示信息
titleString通知标题
contentString通知内容
resultString通知内容根据过滤规则,解析后的结果,如短信验证码
isOngoingBoolean通知是否持续显示,侧滑不能删除
isClearableBoolean点击通知,是否自动消失

isHasPermission、openPermission、setPermission方法 返回参数

判断 res.data 有内容(参照使用方法)

属性名类型说明
isHasPermissionBoolean是否开启获取通知权限

系列插件

图片选择插件 Ba-MediaPicker (文档)

图片编辑插件 Ba-ImageEditor (文档)

文件选择插件 Ba-FilePicker (文档)

应用消息通知插件(多种样式,新增支持常驻通知模式) Ba-Notify(文档)

应用未读角标插件 Ba-Shortcut-Badge (文档)

应用开机自启插件 Ba-Autoboot(文档)

扫码原生插件(毫秒级、支持多码)Ba-Scanner-G(文档)

扫码原生插件 - 新(可任意自定义界面版本;支持连续扫码;支持设置扫码格式)Ba-Scanner(文档)

动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar(文档)

原生sqlite本地数据库管理 Ba-Sqlite(文档)

安卓保活插件(采用多种主流技术) Ba-KeepAlive(文档)

安卓快捷方式(桌面长按app图标) Ba-Shortcut(文档)

自定义图片水印(任意位置) Ba-Watermark(文档)

最接近微信的图片压缩插件 Ba-ImageCompressor(文档)

视频压缩、视频剪辑插件 Ba-VideoCompressor(文档)

动态切换应用图标、名称(如新年、国庆等) Ba-ChangeIcon(文档)

原生Toast弹窗提示(穿透所有界面、穿透原生;自定义颜色、图标 ) Ba-Toast(文档)

图片涂鸦、画笔 Ba-ImagePaint(文档)

pdf阅读(手势缩放、显示页数) Ba-Pdf(文档)

声音提示、震动提示、语音播报 Ba-Beep(文档)

websocket原生服务(自动重连、心跳检测) Ba-Websocket(文档)

短信监听(验证码) Ba-Sms(文档)

智能安装(自动升级) Ba-SmartUpgrade(文档)

监听系统广播、自定义广播 Ba-Broadcast(文档)

监听通知栏消息(支持白名单、黑名单、过滤) Ba-NotifyListener(文档)

全局置灰、哀悼置灰(可动态、同时支持nvue、vue) Ba-Gray(文档)

获取设备唯一标识(OAID、AAID、IMEI等) Ba-IdCode(文档)

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...