uniapp 系统广播、自定义广播插件 Ba-Broadcast_声音提示、震动提示、语音播报 ba-beep-程序员宅基地

技术标签: 监听广播  自定义广播  系统广播  发送广播  uni-app  

简介(下载地址

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

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

截图展示

在这里插入图片描述

使用方法

引用

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文档

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013164293/article/details/128107656

智能推荐

【机器学习小常识】“parameters(参数)” 与 “hyperparameters(超参数)”的概念及区别详解_parameters参数-程序员宅基地

文章浏览阅读8.1k次,点赞8次,收藏32次。目录1、参数与超参数概念1.什么是参数2.什么是超参数2、二者有什么区别1.得到方式不同2.影响因素不同3.可控程度不同说在前面的话有些概念其实,很纠结,它到底是属于机器学习呢,还是属于深度学习呢?比如说,分类与回归,这个有些是很难界定的,有人说,它属于深度学习,又有人说,它属于机器学习。其实争论这些,好像并无太大意义,就像一个男生对一个姑娘宠溺的说:这天下..._parameters参数

TNS-12535: TNS: 操作超时-程序员宅基地

文章浏览阅读333次。今天一个服务器装了数据库后,本机可以登录了,但是其他机器登录就是提示 tns连接超时,不管是用tnsping ip还是tnsping sid命令,都是提示TNS-12535: TNS: 操作超时。原因:一定要把xp系统自身的防火墙关闭,而不是一些杀毒软件的防火墙关闭。 ..._linux tnsping timeout 12535

linux qt5启动失败,Qt Creator 启动失败 可能的解决办法-程序员宅基地

文章浏览阅读619次。blocking and unblocking mechanism for linux drivern code概念: 1> 阻塞操作 是指在执行设备操作时,若不能获得资源,则挂起进程直到满足操作条件后再进行操作.被挂起的进程进入休眠,被从调度器移走,直到条件满足: 2> 非阻塞操作 在 ...学习笔记:java线程安全首先得明白什么是线程安全: 线程安全是编程中的术语,指..._linux下无法启动qtcreator

python存txt不删之前_我怎样才能保存到一个.txt文件而不覆盖其中已经存在的所有内容?...-程序员宅基地

文章浏览阅读604次。我在空闲时间做一个应该是非常基本的操作系统。但是,我试图创建它以便您可以拥有任意多个用户,但是每次我创建一个新用户时,它都会删除旧用户。到目前为止,我有这个:def typer():print("Start typing to get started. Unfortunately, you cannot currently save your files.")typerCMD = input(" ..._txt存文件之前的留下来

请使用c++通过遗传算法解决旅行商问题-程序员宅基地

文章浏览阅读60次。我可以向您提供关于使用遗传算法解决旅行商问题的一些指导。首先,需要确定旅行商问题的地图数据,然后编写代码,创建一个遗传算法,然后对算法进行调优,以获得最佳路线。最后,将结果显示在地图上,以便查看最终路线。...

学习JAVA游戏服务器开发需要了解的情况_java游戏服务器开发用到数据库吗-程序员宅基地

文章浏览阅读1.3w次,点赞21次,收藏85次。一,游戏服务器开发的工作介绍近来遇到有很多人想从其它开发领域转到游戏服务器开发行业上来,他们或许觉得游戏服务器开发工资高,或许觉得做游戏服务器需要掌握的技术更高级,可以锻炼自己,或许觉得想换个环境等等。不管出于什么原因吧,做为一名几年的游戏服务器开发者,当然是持欢迎态度的,那么我就先介绍一下游戏服务器开发的工作吧,游戏服务器开发具体要做哪些工作呢?1,团队沟通基本上不管做什么开发,都是一个团队来完..._java游戏服务器开发用到数据库吗

随便推点

Centos 安装GPU并行lammps_centos lammps gpu-程序员宅基地

文章浏览阅读6.1k次,点赞6次,收藏16次。以下描述了如何在Centos服务器上安装GPU版本的lammps。安装环境目标属性系统Linux/CentOS 7.6CPU12*Intel Xeon CPU E5-2609 v3 @ 1.90GHzGPU2*NVIDIA Tesla K80/CUDA 8.0安装准备1. CUDA由于是安装GPU版本lammps,首先应确保系统安装有显卡所对..._centos lammps gpu

小米HR:说说对API有多少的理解? 看了后,和面试官扯皮,吹牛逼!绰绰有余!_能直接温hr是不是刷api的吗-程序员宅基地

文章浏览阅读2.9k次,点赞4次,收藏32次。目录什么是API?什么是API测试API测试的测试用例:API测试方法:如何进行API测试API测试的最佳做法:API测试检测到的错误类型API测试工具API测试的挑战结论:最后什么是API?API(全称Application Programming Interface)是两个单独的软件系统之间的通信和数据交换。实现API的软件系统包含可以由另一个软件系统执行的功能/子例程。什么是API测试API测试是一种用于验证API(应用程序编程接口)的._能直接温hr是不是刷api的吗

Android开发 入门篇(二) - 常用UI控件_能(textview、edittext、button、progressbar、alertdialog-程序员宅基地

文章浏览阅读915次,点赞2次,收藏7次。date: 2020-01-12 21:46:05文章目录控件ButtonTextViewEditTextImageViewProgressBarAlertDialogProgressDialog布局LenearLayoutandroid:layout_gravityandroid:layout_weightRelativeLayoutFrameLayout百分比布局其他自定义控件ListVie..._能(textview、edittext、button、progressbar、alertdialog、progressdialog、lis

python3.4中文版下载-Python 3.4 入门指南 官方中文版.pdf-程序员宅基地

文章浏览阅读1.2k次。【实例简介】【实例截图】【核心代码】CONTENTS1 开胃菜 22 使用 Python 解释器 42.1 调用 Python 解释器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 解释器及其环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...._python_3.4_入门指南(官方中文版).pdf

java json 修改字段_我们如何使用Java中的Jackson来更改JSON中的字段名称?-程序员宅基地

文章浏览阅读1.2k次。杰克逊注释@JsonProperty上使用期间的属性或方法的序列或反串行化的JSON。它带有一个可选的' name '参数,当属性名称与JSON中的' key '名称不同时,该参数很有用。默认情况下,如果键名称与属性名称匹配,则将值映射到属性值。在下面的示例中,我们可以使用@JsonProperty注解更改JSON中的字段名称。示例importjava.io.IOException;import...

repo批量创建远端仓库----建立自己的android代码仓库_android repo批量创建gerrit仓库-程序员宅基地

文章浏览阅读3.5k次。转载请注明:http://blog.csdn.net/yanxiangyfg android代码团队开发中,为了团队合作我们需要建立代码仓库,以便进行团队间的协作. android最常用的代码管理工具是git, 那么团队间合作各自需要合入特性,这样就需要一个地方来存放代码,一般又三种方法:1>在github上进行托管2>建立本地代码库,团队所以代码都提交这个本地仓_android repo批量创建gerrit仓库

推荐文章

热门文章

相关标签