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,
			})
		}
	})
},

四、小结

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

相关推荐
To_OC19 小时前
LC 239 滑动窗口最大值:从暴力超时到单调队列一遍过
javascript·算法·leetcode
Mh20 小时前
虚拟滚动真的比普通滚动性能更好吗?
前端·javascript·性能优化
kyriewen1 天前
我把 AI 写的并发请求控制器手写了一遍——3 个语义我当时根本讲不清
前端·javascript·面试
_codemonster1 天前
Vue中的ref和reactive到底在干嘛
前端·javascript·vue.js
张元清1 天前
React useEventListener Hook:类型安全的 DOM 事件监听 (2026)
javascript·react.js
weixin_461408581 天前
npm npx yarn
开发语言·前端·javascript
四千岁1 天前
RAG系统中的分块
前端·javascript·后端
进击的明明1 天前
闭包:JavaScript里的“随身背包” 🎒
前端·javascript·面试
梦梦代码精1 天前
基于UniApp+Vue3+ThinkPHP 8,这套知识付费系统的架构设计有点东西
java·低代码·docker·uni-app·开源·php
hans汉斯1 天前
采煤工作面隐患目标检测中YOLO11与Faster R-CNN的对比研究
人工智能·目标检测·计算机视觉·cnn·信息与通信·信号处理