收藏
回答

iOS 下 BLE 设备获取的data .advertisData为空,安卓正常

问题模块
API和组件


如题所示,我在安卓(荣耀9)下可以正常获取到数据,但是在 iOS (iPhone5s,iPhone6,系统10.3.3版本)下则提示错误。


主要对应区域的代码是:


var getDevList = setInterval(function() {
           wx.getBluetoothDevices({
               success: function(res) {
                   console.log('bleLength',that.data.bleLength,res.devices.length);
                   if (that.data.bleList) {
                       that.connectBle();
                       wx.stopBluetoothDevicesDiscovery({
                           success: function(res) {
                               console.log(res)
                           }
                       })
                       clearInterval(getDevList);
                       console.log('已找到设备');
                       return false;
                   }
                   if (that.data.bleLength == res.devices.length) {
                       wx.stopBluetoothDevicesDiscovery({
                           success: function(res) {
                               console.log(res)
                           }
                       })
                       clearInterval(getDevList);
                       console.log('clearInterval');
                       that.setData({
                           bleUpdateStatus: '搜索结束,暂未找到手环...'
                       })
                       setTimeout(function(){
                           that.setData({
                               bleUpdateStatus: ''
                           })
                       },3000)
                   } else {
                       that.setData({
                           bleLength: res.devices.length
                       })
                   }
                   var resData = res.devices;
                   for (var i in resData) {
                       var data = resData[i];
                       if (data.name == 'nfWatch' || data.name == 'nfWCH++') {
                           console.log('mac',curMac,data.advertisData,that.buf2hex(data.advertisData));
                           // if (curMac == that.buf2hex(data.advertisData).slice(4)) {
                               that.setData({
                                   bleList: data,
                                   bleUpdateStatus: '已找到手环,同步中...'
                               })
                           // }
                           // console.log(data.name, data.deviceId, data.advertisServiceUUIDs, data.RSSI, data.advertisData, that.buf2hex(data.advertisData));
                           // console.log(data.name, data.deviceId, that.buf2hex(data.advertisData).slice(4));
                       }
                   }
               },
               fail: function(res) {
                   console.log(res);
               }
           })
       }, 6000)




最后一次编辑于  2017-08-28  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答