前段时间与一个朋友合伙做了一个由 移动端应用 控制 低功耗蓝牙设备 的项目,我负责做的是应用,由uniapp框架开发。
首先,项目发布到微信小程序,搜索到周围的蓝牙设备的对象属性是这样的:

然后打包成安卓app后使用是这样的:

可以发现app端的少了connectable和serviceData两个属性
然而app端和微信小程序端都是可以正常向设备写入数据的
可以肯定的是app端的所有蓝牙设备信息都缺少connectable属性,导致功能不能通过该属性判断是否可以连接该设备
最后看到uniapp的官方蓝牙文档关于设备对象结构的解释是这样的:
官方文档:https://zh.uniapp.dcloud.io/api/system/bluetooth.html

可以看到文档的设备对象结构比app端实际应用多了serviceData属性,却又比微信小程序端的少了connectable属性
我的问题是:这种差异是不是依赖包不一致导致的还是什么原因?