更新记录

3.1.0(2025-05-29)

1、解决app杀掉后,监听服务失效的bug 2、增加clearAllNotifications方法 清空所有通知消息

3.0.0(2025-04-24)

完全重构,支持最新的安卓14版本。

2.5.2(2023-01-18)

1、修复了部分机型无法发送常驻通知的问题

2、uniapp离线sdk更新到:2023年01月12日发布——HBuilderX(3.6.17.20230112)

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 14.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


简介

监听通知栏内容,获取通知栏消息 安卓原生SDK扩展,电池白名单。

功能特点

  • 检查通知栏权限状态
  • 跳转到通知栏权限设置界面
  • 监听通知栏消息
  • 停止监听通知栏消息
  • 检查是否在电池优化白名单中
  • 申请加入电池优化白名单

其他说明

  1. 如需技术支持,联系QQ:2310325773
  2. 插件获取微信、QQ、支付宝收款、微信收款、短信内容均可监听到。

API接口说明

isNotificationPermissionEnabled

检查是否已开启通知栏权限。

复制代码let res = noticeBarModule.isNotificationPermissionEnabled();

返回值:Boolean类型,true表示已开启权限,false表示未开启权限

openNotificationSettings

打开系统通知栏权限设置界面。

复制代码noticeBarModule.openNotificationSettings();

startListenNotification

开始监听通知栏消息。

复制代码noticeBarModule.startListenNotification(callback => {
    // callback返回的消息格式为:
    // {
    //     title: String,      // 通知标题
    //     content: String,    // 通知内容
    //     packageName: String,// 发送通知的应用包名
    //     time: Long          // 通知发送时间戳
    // }
});

stopListenNotification

停止监听通知栏消息。

复制代码noticeBarModule.stopListenNotification();

isIgnoringBatteryOptimizations

检查应用是否已加入电池优化白名单。

复制代码let res = noticeBarModule.isIgnoringBatteryOptimizations();

返回值:Boolean类型,true表示已在白名单中,false表示不在白名单中

requestIgnoreBatteryOptimizations

请求将应用加入电池优化白名单。

复制代码noticeBarModule.requestIgnoreBatteryOptimizations();

clearAllNotifications

清空所有通知消息。

复制代码noticeBarModule.clearAllNotifications();

使用示例

复制代码<template>
    <view>
        {{msg}}
        <view>
            <view v-for="(item, index) in list" :key="index">
                <text>监听到内容:{{item.content}}</text><br><text>监听到标题:{{item.title}}</text>
                <br />
                <hr />
            </view>
        </view>
        <button type="default" @click="isNotificationPermissionEnabled">是否开启权限</button>
        <button type="default" @click="openNotificationSettings">跳转到设置界面</button>
        <button type="default" @click="startListenNotification">开始监听</button>
        <button type="default" @click="stopListenNotification">停止监听</button>
        <button type="default" @click="isIgnoringBatteryOptimizations">是否设置白名单</button>
        <button type="default" @click="requestIgnoreBatteryOptimizations">去设置白名单</button>
        <button type="default" @click="clearAllNotifications">清空通知</button>
    </view>
</template>

<script>
var noticeBarModule = uni.requireNativePlugin("lu-NoticeBarModule")

export default {
    data() {
        return {
            msg: '收到的通知内容会展示在这里',
            list: []
        }
    },
    methods: {
        isNotificationPermissionEnabled() {
            let res = noticeBarModule.isNotificationPermissionEnabled();
            uni.showToast({
                title: JSON.stringify(res),
                icon: 'none'
            });
        },
        openNotificationSettings() {
            noticeBarModule.openNotificationSettings();
        },
        startListenNotification() {
            noticeBarModule.startListenNotification(e => {
                this.msg = JSON.stringify(e);
                uni.showToast({
                    title: JSON.stringify(e),
                    icon: 'none'
                });
            });
        },
        stopListenNotification() {
            noticeBarModule.stopListenNotification();
        },
        isIgnoringBatteryOptimizations() {
            let res = noticeBarModule.isIgnoringBatteryOptimizations();
            uni.showToast({
                title: JSON.stringify(res),
                icon: 'none'
            });
        },
        requestIgnoreBatteryOptimizations() {
            noticeBarModule.requestIgnoreBatteryOptimizations();
        },
      clearAllNotifications() {
        noticeBarModule.clearAllNotifications();
      },
    }
}
</script>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

插件申请的系统权限为: android.permission.BIND_NOTIFICATION_LISTENER_SERVICE 获取通知栏 android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 电池白名单

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

没有任何采集

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

没有任何广告

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问