uniapp搜索附近蓝牙信标(iBeacon)

一、 iBeacon介绍

iBeacon是苹果在2013年WWDC上推出一项基于蓝牙4.0(Bluetooth LE | BLE | Bluetooth Smart)的精准微定位技术,在iPhone 4S后支持。当你的手持设备靠近一个Beacon基站时,设备就能够感应到Beacon信号,范围可以从几毫米到50米。因为是一种定位技术,苹果将iBeacon相关的接口放到了 CoreLocation.framework。Google在Android 4.3及后续版本支持了该功能,只要满足iBeacon技术标准即可。iBeacon底层的技术使用的使用BLE(Bluetooth Low Energy)。

二、技术文档

参考:lBeacon API

三、代码实现

javascript 复制代码
//开始搜索蓝牙设备
startDiscoverBluetooth() {
	let that = this;
	//蓝牙初始化
	uni.openBluetoothAdapter({ 
		success(res) {
			uni.getLocation({
				success(res) {
					//开始搜索蓝牙设备
					uni.startBeaconDiscovery({
						success(res) {
							uni.onBeaconUpdate((res) => {
								console.log("设备信息=> ", res)
							})
						}, fail(res) {
							console.log('搜索蓝牙设备失败!', res);
						}
					})
				}, fail(res) {
					uni.showModal({
						title:'提示',
						content:'请打开位置,并下拉刷新!',
						confirmText:'好的',
						showCancel:false,
					})
				}
			})
		}, fail(res) {
			uni.showModal({
				title:'提示',
				content:'请打开蓝牙,并下拉刷新!',
				confirmText:'好的',
				showCancel:false,
			})
		}
	})
},

四、小结

目前只能在手机处于亮屏状态下(包括软件在后台运行)才能监测到周围的信标设备,熄屏状态下监测不到(目前还未解决),如有解决的,欢迎大神留言讨论!

相关推荐
多客:duokelijie几秒前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署
OpsEye1 小时前
大模型 Token 计量不准,是什么原因,怎么解决??
javascript·ai编程
独隅3 小时前
WebStorm Windows 版 React / Next.js 实战替换指南
javascript·windows·webstorm
冷眸_3 小时前
同名食材不能直接相减:一个 JavaScript 用量模型的边界
javascript
apollo_qwe3 小时前
接口超时了,前端为什么不能直接重试?
javascript·http
码间留白7 小时前
鸿蒙端对接 BLE 血压计:从一次握手到读数入库(二)设备篇
物联网·uni-app·鸿蒙·蓝牙ble·血压计
toooooop88 小时前
CRMEB 故障排查笔记:安全网关只放行 GET/POST 怎么办
前端·javascript·vue.js·thinkphp6·crmeb
软件技术NINI8 小时前
基于SpringBoot和Vue的项目评审系统
javascript·vue.js·spring boot·后端·spring·毕业设计·毕设
vipxieliang8 小时前
JavaScript 模板字符串与标签模板:不只是拼接
前端·javascript
Dream-Y.ocean19 小时前
鸿蒙PC平台宅匠 3D 室内设计适配实战:基于 Electron 壳方案的 Three.js 双渲染引擎与参数化户型编辑器开发
javascript·3d·harmonyos