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

四、小结

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

相关推荐
丷丩3 小时前
MapLibre GL JS第19课:实时更新要素
前端·javascript·gis·map·mapbox·maplibre gl js
xiaohua0708day4 小时前
Lodash库
前端·javascript·vue.js
突然好热4 小时前
TS 调试技巧
前端·javascript·typescript
h64648564h4 小时前
Flutter 国际化(i18n)全指南:一键切换中/英/日多语言
前端·javascript·flutter
丷丩6 小时前
MapLibre GL JS第8课:禁用滚动缩放
javascript·mapbox·maplibre gl js
kyriewen7 小时前
面试8家前端岗位后,我发现了一个残酷的事实:AI不是加分项,是门槛
前端·javascript·面试
黄同学real10 小时前
uni-app 真机调试:手动代理环境下访问内网 API 的解决方案
uni-app
MageGojo10 小时前
做节日活动页时,如何用 API 快速生成对联内容
javascript·python·节日·对联生成
向上的车轮10 小时前
Next.js 入门指南:从零到一构建全栈应用
开发语言·javascript·ecmascript
freeinlife'11 小时前
精准秒表计时器实现---基于js
开发语言·前端·javascript