1.判断用户是否打开蓝牙:
由于iBeacon是基于蓝牙传输数据的,所以第一步要判断是否打开蓝牙,如果没有打开则提示用户去打开蓝牙,然后在下拉刷新时重新判断,确认用户打开之后再搜索iBeacon设备
- wx.openBluetoothAdapter({
-
- success: () => {
-
- //搜索iBeacon设备
-
- },
-
- fail: () => {
-
- wx.showModal({
-
- title: '提醒',
-
- content: '请先打开您的手机蓝牙,打开后下拉刷新',
-
- })
-
- }
-
- })
2.通过wx.startBeaconDiscovery接口,搜索iBeacon设备,如需搜索多个设备,需要将UUID组成一个数组
3.搜索设备成功后,设置 iBeacon 设备的更新事件wx.onBeaconUpdate
4.在监听事件中,获取数据wx.getBeacons
5.根据得到的距离,进行你的业务操作
- wx.startBeaconDiscovery({
-
- uuids: ["FDA50693-A4E2-4FB1-AFCF-C6EB07647825","AB8190D5-D11E-4941-ACC4-42F30510B408"], //多个uuid数组
-
- success: function (res) {
-
- wx.onBeaconUpdate(function(){
-
- //设置监听事件
-
- wx.getBeacons({
-
- //在监听事件中获取数据
-
- success:res=>{
-
- console.log(res.beacons;) //res.beacons 为搜索到的iBeacon数据数组
-
- //业务代码
-
- }
-
- })
-
- })
-
- }
-
- })