微信小程序蓝牙开锁遇到的问题
发布于 6 年前 作者 xujie 6965 次浏览 来自 问答

微信小程序开发ios链接蓝牙的的时候,获取的广播信息为null,将它base64之后依然不能与当前你设备的mac地址进行匹配(在众多的广播信息里边没有找到当前设备的mac地址),但是安卓就能找到。

10 回复

要不留个联系方式,比如微信什么的加一下?我的微信号是:zlf1525283969

arrayBufferToBase64 这个方法转字符串后可以打印出来,主要ios却找不到这个广播信息 这句话是什么意思?字符串为空?


“我以前用ios连的时候advertisData直接就是mac地址,现在不是了”   是指之前用相同代码测试可以取出mac地址?

已经解决,开发者根据厂商提供的广播包数据段进行解析,将arrayBuffer转为16进制数据后成功获取到Mac地址。

你好,我最近也在做一个共享项目,需要实现蓝牙开锁的功能。能问一下你用的锁是哪款吗?方便的话可以留个联系方式吗?

官方api

说的是不能打印,我转为base64在安卓上就能和当前设备的广播信息相匹配,但是ios却找不到这个广播信息,我在想是不是ios和安卓对advertisData的解析不一样

你指的是这里的arrayBuff在iOS拿到为空么?有console.log出来的日志么?

我转过了,并且把设备的mac地址也转换了,安卓上边把mac地址转换之后和把广播信息转换之后能够匹配[@NGK](/user/NGK)

====================================================

iOS上是不能匹配,还是转换成base64的字符串为空?

调用了,并且我将当前设备的mac 地址进行

转换与广播地址进行匹配的,然而安卓能就能找到这个广播内容,ios没有

有没有一个方法让我今天能看到advertisData里边都有神马东西?我以前用ios连的时候advertisData直接就是mac地址,现在不是了

  1. arrayBuffer没法直接打印出来,是有对 advertisData调用了 arrayBufferToBase64 么?

  2. 另外需要注意的是,iOS上获取到的advertisData,前两个字节是companyId,如果不需要的话要对其进行切割。

回到顶部