蓝牙开发问题
发布于 6 年前 作者 songyong 3366 次浏览 来自 问答

同样的蓝牙设备在不同手机型号上获取的特征值数组长度不一样以及内容也不一样(机型:小米6 和 华为P10),这是什么情况?

3 回复

请教一下,对于特征值不同的uuid进行读写操作的时候,设置notify监听和回调接收信息时,是不是遵循谁读写操作就监听谁,不读写的uuid是不是要关闭?我这边出现虽然在读写之前进行监听设置,但是监听读写回调的信息,在有的手机不显示,这是我在哪里设置不对吗?

notify是蓝牙设备主动通知手机特征值发生变化,可以理解为蓝牙设备主发信息,必须调用notifyBLECharacteristicValueChange,传入true才是允许接收通知,如果不调用notifyBLECharacteristicValueChange,那么就默认不开启,所以也就不需要“关闭”了;

read是手机主动读取蓝牙设备的特征值,可以理解为手机主动读取;有的手机不显示,那说明有Bug或者API调用的不对,得具体分析一下。

首先你肯定指导设备有哪些服务对吧?然后用LightBlue看一下扫描到哪些服务,小程序API和LightBlue读出来的一致的话,小程序API就没问题,问题就在手机蓝牙上,华为手机蓝牙有缓存,重启手机蓝牙后,一般就能读到正确的服务了。小米6应该是对的吧?

回到顶部