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

四、小结

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

相关推荐
Wannaer15 分钟前
从 Vue3 回望 Vue2:响应式的内核革命
前端·javascript·vue.js
懒羊羊我小弟36 分钟前
手写符合Promise/A+规范的Promise类
前端·javascript
赵大仁1 小时前
React vs Vue:点击外部事件处理的对比与实现
javascript·vue.js·react.js
Mr.app1 小时前
uniapp(微信小程序)>关于父子组件的样式传递问题(自定义组件样式穿透)
微信小程序·uni-app
老李不敲代码1 小时前
榕壹云搭子系统技术解析:基于Spring Boot+MySQL+UniApp的同城社交平台开发实践
spring boot·mysql·微信小程序·uni-app·软件需求
七七小报2 小时前
uniapp-商城-54-后台 新增商品(页面布局)
uni-app
肥肥呀呀呀2 小时前
在Flutter上如何实现按钮的拖拽效果
前端·javascript·flutter
付朝鲜3 小时前
用自写的jQuery库+Ajax实现了省市联动
java·前端·javascript·ajax·jquery
coderYYY3 小时前
多个el-form-item两列布局排齐且el-select/el-input组件宽度撑满
前端·javascript·vue.js·elementui·前端框架
Watermelo6174 小时前
前端如何应对精确数字运算?用BigNumber.js解决JavaScript原生Number类型在处理大数或高精度计算时的局限性
开发语言·前端·javascript·vue.js·前端框架·vue·es6