更新记录

1.0.0(2023-05-22)

自定义通知栏通知安卓原生插件,支持进度条通知、普通通知,支持文字颜色自定义 插件首次提交


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.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原生插件配置”->”云端插件“列表中删除该插件重新选择


自定义通知栏通知安卓原生插件,支持进度条通知、普通通知,支持文字颜色自定义

  • 支持Android平台使用

  • 插件特性:

    1、提供了安卓通知栏进度条通知样式(可用于在通知栏显示下载进度)、普通通知(普通文字通知)。
    2、通知文字颜色可自定义。
    3、进度条颜色提供red、green、blue三种可选值(后续会持续增加)。
  • 函数说明

序号 函数名称 函数说明
1 addCallback(function callback) 结果回调函数
2 showNotify(String json) 显示通知,参数详见下方说明
3 createPushChannel(String json) 创建通知通道(OPPO消息推送私信需要),参数详见下方说明
  • showNotify(String json)函数说明

    该函数为显示通知函数,根据json参数中notifyStyle的值设置是显示普通通知还是进度通知,
    json参数格式如下:
    
    1、作为进度通知样式的参数格式:
    {
        notifyStyle: 'progress', //通知样式,可选值 progress/normal
        params: {
            id: 22,//通知id,id相同则后面的覆盖之前的,id不同时则表示为新的通知(不传则默认为同一个id)
            title: '正在下载...', //通知标题(必填参数)
            titleColor: '#FF00FF', //标题文字颜色,默认为黑色
            max: 100, //进度条最大值
            progress: progress, //当前进度值
            showRightText: false, //是否显示进度条右边百分比文字(默认为true),例:50%
            showRightTextColor: '#0000FF', //进度条右边文字颜色
            progressColor: 'red' //进度条颜色 ,可选值 red/green/blue,默认为green
        }
    }
    
    2、作为普通通知样式的参数格式:
    {
        notifyStyle: 'normal', //通知样式,可选值 progress/normal
        params: {
            id: 33,//通知id,id相同则后面的覆盖之前的,id不同时则表示为新的通知(不传则默认为同一个id)
            title: '普通通知测试', //通知标题(必填参数)
            titleColor: '#87CEFA', //标题文字颜色,默认为黑色
            content: '普通通知内容', //通知内容(必填参数)
            contentColor: '#DAA520', //内容文字颜色,默认黑色
        }
    }
  • createPushChannel(String json)函数说明

    该函数为创建通知通道函数(OPPO消息推送私信需要),
    json参数格式如下:
    {
        channelId:'test_channel_id',  //通道id,使用者自定义(必填参数)
        channelName:'测试通知通道名称', //(必填参数)
        channelDescription:'测试通知通道描述' //(必填参数)
    }
  • 结果回调函数code值说明

    序号 code值 说明
    1 -1 错误码,详细错误信息请查看返回结果
    2 1 点击通知栏通知,此时会返回调用showXXX函数传递的json参数
  • 使用示例

    <template>
        <view class="uni-column">
            <button @click="progressNotice()">进度条通知(进度条右边显示百分比)</button>
            <button @click="progressNotice1()">进度条通知(进度条右边无百分比)</button>
    
            <button @click="normalNotice()">普通通知</button>
            <button @click="createPushChannel()">创建通知通道</button>
        </view>
    </template>
    
    <script>
        const notificationModule = uni.requireNativePlugin("jushi-notification")
        export default {
            data() {
                return {
                    timer: null,
                    timer1: null
                }
            },
            created() {
                notificationModule.addCallback(res => {
                    console.log('结果回调:' + res)
                })
            },
            methods: {
                progressNotice() {
                    if (this.timer != null) {
                        return
                    }
                    let that = this
                    var progress = 0
                    this.timer = setInterval(() => { //模拟下载进度
                        notificationModule.showNotify({
                            notifyStyle: 'progress', //通知样式,可选值 progress/normal
                            params: {
                                id: 2,//通知id,id相同则后面的覆盖之前的,id不同时则表示为新的通知(不传则默认为同一个id)
                                title: '正在下载', //通知标题(必填参数)
                                titleColor: '#FF00FF', //标题文字颜色,默认为黑色
                                max: 100, //进度条最大值
                                progress: progress, //当前进度值
                                showRightText: true, //是否显示进度条右边百分比文字(默认为true),例:50%
                                showRightTextColor: '#0000FF', //进度条右边文字颜色
                                progressColor: 'blue' //进度条颜色 ,可选值 red/green/blue,默认为green
                            }
                        })
                        if (progress == 100) {
                            clearInterval(this.timer)
                            this.timer = null
                            return
                        }
                        progress++
                    }, 500)
                },
                progressNotice1() {
                    if (this.timer1 != null) {
                        return
                    }
                    let that = this
                    var progress = 0
                    this.timer1 = setInterval(() => { //模拟下载进度
                        notificationModule.showNotify({
                            notifyStyle: 'progress', //通知样式,可选值 progress/normal
                            params: {
                                id: 22,//通知id,id相同则后面的覆盖之前的,id不同时则表示为新的通知(不传则默认为同一个id)
                                title: '正在下载...', //通知标题(必填参数)
                                titleColor: '#FF00FF', //标题文字颜色,默认为黑色
                                max: 100, //进度条最大值
                                progress: progress, //当前进度值
                                showRightText: false, //是否显示进度条右边百分比文字(默认为true),例:50%
                                showRightTextColor: '#0000FF', //进度条右边文字颜色
                                progressColor: 'red' //进度条颜色 ,可选值 red/green/blue,默认为green
                            }
                        })
                        if (progress == 100) {
                            clearInterval(this.timer1)
                            this.timer1 = null
                            return
                        }
                        progress++
                    }, 500)
                },
                normalNotice() { //普通通知使用示例
                    notificationModule.showNotify({
                        notifyStyle: 'normal', //通知样式,可选值 progress/normal
                        params: {
                            id: 33,//通知id,id相同则后面的覆盖之前的,id不同时则表示为新的通知(不传则默认为同一个id)
                            title: '普通通知测试', //通知标题(必填参数)
                            titleColor: '#87CEFA', //标题文字颜色,默认为黑色
                            content: '普通通知内容', //通知内容(必填参数)
                            contentColor: '#DAA520', //内容文字颜色,默认黑色
                        }
                    })
                },
                createPushChannel() { //创建通知通道(OPPO消息推送私信需要,私信不限数量)
                    notificationModule.createPushChannel({
                        channelId: 'test_channel_id', //通道id,使用者自定义
                        channelName: '测试通知通道名称',
                        channelDescription: '测试通知通道描述'
                    })
                }
            }
        }
    </script>
    
    <style>
        .uni-column {
            display: flex;
            flex-direction: column;
        }
    
        button {
            margin: 40rpx;
        }
    </style>
  • 示例应用下载

    扫码下载体验

    其它插件

    安卓原生插件

  • 文件在线预览

  • 银联支付线上收银台(通用版) 封装

  • 阿里云RTC音视频通话

  • 权限请求

  • 文字转语音

  • MQTT连接

  • 获取手机通讯录联系人

  • 快捷工具悬浮窗

  • 日历日程事件

  • 获取本地音频文件信息

  • 根据经纬度获取位置信息

  • WebSocket连接

  • 高德地图封装安卓原生地图扩展组件

  • 使用ECharts封装的安卓原生扩展组件

  • 给图片添加水印

  • 自定义通知栏通知

    UTS插件

  • 安卓权限请求UTS插件

  • 安卓文字转语音UTS插件

  • 安卓获取音频文件UTS插件

    前端插件

  • ECharts封装全端通用组件

  • 图片添加水印,支持微信小程序、H5

  • 手写签名、电子签名组件

隐私、权限声明

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

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

本插件不采集任何数据

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

本插件不包含任何广告

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