更新记录

1.0(2022-12-01)

init


平台兼容性

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


监听系统广播、自定义广播 Ba-Broadcast

简介

Ba-Broadcast 是一款可监听系统广播的uniapp插件,如息屏、亮屏、声音、电量等等。支持监听系统广播;支持自定义广播;支持发送广播。

  • 支持系统广播(支持设备支持的所有广播配置,支持系统参数原路返回)
  • 支持自定义广播(参数可随意自定义,可多个)
  • 支持发送广播
  • 如有特殊,可联系作者定制

有建议和需要,请联系QQ:2579546054

使用方法

引用

script 中引入组件

    const broadcast = uni.requireNativePlugin('Ba-Broadcast')

示例

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

<script>
    const broadcast = uni.requireNativePlugin('Ba-Broadcast')
    export default {
        data() {
            return {
                msgList: [],
                actions: [
                    'android.intent.action.SCREEN_OFF', //关闭屏幕
                    'android.intent.action.SCREEN_ON', //打开屏幕
                    'android.intent.action.USER_PRESENT', //解锁屏幕
                    'com.ba.temp.action', //自定义广播
                ],
                action: 'com.ba.temp.action',
                msg: '测试参数'
            }
        },
        methods: {
            register() { //注册监听
                broadcast.register({
                    actions: this.actions
                }, res => {
                    console.log(res);
                    let msg = '';
                    if (res.msg) {
                        msg = res.msg;
                    }
                    if (res.action) { //判断是否是接收到广播消息
                        this.msgList.push(res.action);
                        msg = res.action;
                    } else if (res.ok) {

                    }
                    uni.showToast({
                        title: msg,
                        icon: "none",
                        duration: 3000
                    })
                });
            },
            unregister() { //注销监听
                broadcast.unregister({}, res => {
                    console.log(res);
                    uni.showToast({
                        title: res.msg,
                        icon: "none",
                        duration: 3000
                    })
                });
            },
            sendBroadcast() { //发送自定义广播
                if (!this.action) {
                    uni.showToast({
                        title: 'action 不能为空',
                        icon: "none"
                    })
                    return
                }
                broadcast.sendBroadcast({
                    action: this.action, //广播 action
                    msg: this.msg, //随意自定义参数,可多个
                }, res => {
                    console.log(res);
                    uni.showToast({
                        title: res.msg,
                        icon: "none",
                        duration: 3000
                    })
                });
            },
        }
    }
</script>

系统广播清单

这里列出了一些常用的系统广播清单,系统所有的广播都可支持,参数返回和系统一致

常用广播清单
action 说明 参数名 说明
android.intent.action.SCREEN_OFF 关闭屏幕
android.intent.action.SCREEN_ON 打开屏幕
android.intent.action.USER_PRESENT 解锁屏幕
android.intent.action.REBOOT 重启设备
android.intent.action.ACTION_SHUTDOWN 关闭系统
android.intent.action.CLOSE_SYSTEM_DIALOGS 用户点击home键(homekey)
和多任务键(recentapps)时(返回的reason值会有区别)
、当屏幕超时进行锁屏时、当用户按下电源按钮、进行锁屏时
android.intent.action.ACTION_POWER_CONNECTED 插上外部电源时发出的广播
android.intent.action.ACTION_POWER_DISCONNECTED 已断开外部电源链接时发出的广播
android.intent.action.BATTERY_CHANGED 充电状态,或者电池的电量发生变化
android.intent.action.BATTERY_LOW 电池电量低
android.intent.action.BATTERY_OKAY 电池电量充足,即从电池电量低变化到饱满时会发出广播
android.intent.action.AIRPLANE_MODE 关闭或打开飞行模式时的广播 state 1:打开 0:关闭
android.intent.action.HEADSET_PLUG 在耳机口上插入耳机时发出的广播 state 1:插入 0:拔出
android.provider.Telephony.SMS_RECEIVE 接收短信 需要对应权限 android.permission.RECEIVE_SMS
android.media.VOLUME_CHANGED_ACTION 音量改变
android.intent.action.TIME_TICK 当前时间变化(正常的时间流逝)。当前时间改变,每分钟都发送
android.intent.action.PACKAGE_INSTALL 触发一个下载而且完成安装时发出的广播,好比在电子市场里下载应用
android.intent.action.PACKAGE_REMOVED 成功的删除某个APK以后发出的广播 (正在被安装的包程序不能接收到这个广播)
android.intent.action.PACKAGE_REPLACED 替换一个现有的安装包时发出的广播(无论如今安装的APP比以前的新仍是旧,都会发出此广播)
android.intent.action.PACKAGE_ADDED 成功的安装APK以后
android.intent.action.PACKAGE_CHANGED 一个已存在的应用程序包已经改变,包括包名
android.intent.action.PACKAGE_DATA_CLEARED 清除一个应用程序的数据时发出的广播(在设置--应用管理--选中某个应用,以后点清除数据时?)

方法清单

名称 说明
register 注册监听
unregister 注销监听
sendBroadcast 发送自定义广播

register 方法参数

注册监听广播

属性名 类型 必填 默认值 说明
actions Array true '' 需要监听的广播,必填,可参考本文的“系统广播”,也可自行配置其他系统支持的广播,或自定义广播
接收到广播消息的参数
属性名 类型 说明
action String 广播action
属性名(...) 其他所有系统返回的参数,如WiFi状态state

sendBroadcast 方法参数

发送自定义广播

属性名 类型 必填 默认值 说明
action String true '' 广播的action
属性名 String false '' 自定义参数,名字可随意定义

系列插件

图片选择插件 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文档

隐私、权限声明

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

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

插件不采集任何数据

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

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