微信小程序蓝牙ios下无法根据mac识别

小程序ios下调用蓝牙无法根据mac识别,不多说直接上代码;

官网 地址:

https://mp.weixin.qq.com/debug/wxadoc/dev/api/bluetooth.html#wxgetconnectedbluethoothdevicesobject

感谢:http://www.zhimengzhe.com/IOSkaifa/362398.html

 var that = this;
    //获取适配器
    wx.openBluetoothAdapter({
      success: function (res) {
        // success
        console.log("-----success----------");
        console.log(res);
        //开始搜索
        wx.startBluetoothDevicesDiscovery({
          services: [],
          success: function (res) {
            // success
            console.log("-----startBluetoothDevicesDiscovery--success----------");
            console.log(res);
          },
          fail: function (res) {
            // fail
            console.log("fail"+res);
          },
          complete: function (res) {
            // complete
            console.log("complete" +res);
          }
        })


      },
      fail: function (res) {
        console.log("-----fail----------");
        // fail
        console.log(res);
      },
      complete: function (res) {
        // complete
        console.log("-----complete----------");
        console.log(res);
      }
    })
 //获取所有已发现的蓝牙设备,包括已经和本机处于连接状态的设备
    wx.getBluetoothDevices({
      success: function (res) {
        // success
        //{devices: Array[11], errMsg: "getBluetoothDevices:ok"}
        console.log("getBluetoothDevices");
        // console.log(res);
        // console.log(res.devices[0]);
        // var bf = res.devices[0].advertisData.slice(2,8);
        // console.log(res.devices[0].advertisData);
        // console.log(bf);
        // console.log(new Uint8Array(bf));
        // // var arrayBuffer = that.buf2hex(bf);
        // var ar = Array.prototype.map.call(new Uint8Array(bf), x => ('00' + x.toString(16)).slice(-2)).join('');
        // console.log(ar);
        that.setData({
          list: res.devices
        });
        console.log(that.data.list);
        let list = that.data.list
        for (var i = 0; i < list.length; i++) {
          // if (list[i].RSSI > -80 ){//判断信号距离最近
          if (list[i].advertisData != null) {//判断对象是否为null,advertisData不一定有
                      //重点 根据advertisData 取出mac进行拼接
                let bf = list[i].advertisData.slice(4, 10);
                let mac = Array.prototype.map.call(new Uint8Array(bf), x => ('00' + x.toString(16)).slice(-2)).join(':');
                console.log(mac.toUpperCase());
                //判断mac是否为服务器传入mac
                if (mac.toUpperCase() == '3C:A3:08:BA:45:35') {
                  that.setData({
                    deviceId: list[i].deviceId
                  });
                  console.log('deviceId:' + that.data.deviceId);
                }
                console.log(list[i]);
              }
           
          // }
        }
      },
      fail: function (res) {
        // fail
      },
      complete: function (res) {
        // complete
      }
    })

 

转载于:https://my.oschina.net/u/1265949/blog/1527143

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值