收藏
回答

求助:ios10系统,蓝牙广播advertisData转化成字符串后是相同的?

在ios9系统上完成正常,升级之后,advertisData转化成字符串 是相同的了(附截图)

代码如下:

else if (app.deviceInnfo.platform == 'ios') {

      //真机

      peripheral = res.devices[0];

      var advertisData = peripheral.advertisData;

      var data = wx.base64ToArrayBuffer(advertisData);

      var str = buf2hex(data);

      peripheral.mac_add = getMacAddress(str.toUpperCase());

      peripheral.advertisDataStr = str;

      array.push(res.devices[0]);

      console.log(peripheral);

   }

function buf2hex(buffer) {

  return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join('');

}

      


回答关注问题邀请回答
收藏

24 个回答

  • bencen(大奔)
    bencen(大奔)
    2017-08-10

    @乔克叔叔

    谢谢,我发现安卓解出来是刚好mac地址,但是Ios解出头多了00dc这个是什么。

    2017-08-10
    有用
    回复
  • zxfei
    zxfei
    2017-08-10

    复制多了,我的项目里面是把mac地址 放到广播里面了,忽略就好啦,

    接收到的advertisData是个arraybuffer ,直接通过你的buf2hex函数转化就可以了,

    2017-08-10
    有用
    回复
  • bencen(大奔)
    bencen(大奔)
    2017-08-10

    可以了,谢谢。

    2017-08-10
    有用
    回复
  • bencen(大奔)
    bencen(大奔)
    2017-08-10

    getMacAddress这个函数哪来的?

    2017-08-10
    有用
    回复
  • bencen(大奔)
    bencen(大奔)
    2017-08-10



    安卓附上。

    2017-08-10
    有用
    回复
  • zxfei
    zxfei
    2017-08-10

    peripheral = res.devices[0];

     var advertisData = peripheral.advertisData;

    //var data = wx.base64ToArrayBuffer(advertisData);(这行去掉)

     var str = buf2hex(advertisData);

    peripheral.mac_add = getMacAddress(str.toUpperCase());

    peripheral.advertisDataStr = str;


    2017-08-10
    有用
    回复
  • bencen(大奔)
    bencen(大奔)
    2017-08-10





    我也碰到同样的问题,安卓也是一样,没有发上来。

    2017-08-10
    有用
    回复
  • 饭饭
    饭饭
    2017-08-01

    尊敬的微信官方您好:


    我们想代表所有小程序开发者,向您提议小程序的一个建议,就是能否在微信聊天窗口的(+)加号按钮弹窗处增加一个入口呢?


    目前我们自己和其他交流过的开发者 都收到了来自不少用户的反馈,用过的小程序根本找不到在哪里。


    增加这个入口,并不会有多大影响,但是带来用户体验价值的提升却是很大的。


    希望您能够认真考虑我们的意见,谢谢!


    2017-08-01
    有用
    回复
  • zxfei
    zxfei
    2017-08-01

    你那里是正常的吗 ios10.3系统

    2017-08-01
    有用
    回复
  • zxfei
    zxfei
    2017-08-01

    先getBluetoothDevices获取所有已经扫描到的 再onBluetoothDeviceFound获取新发现的,


    2017-08-01
    有用
    回复

正在加载...

登录 后发表内容