蓝牙,你平时用的多吗?在上班的路上,戴上蓝牙耳机听音乐或看视频。打开蓝牙以共享个人热点。为朋友解锁共享单车时,打开蓝牙即可快速解锁……BLE—BluetoothLowEnergyTechnology,方便了我们的生活,但是开发者在开发过程中遇到了很多坑,尤其是对于新手用户来说,真的太多了坑,都是Android和iOS系统造成的。今天Yuzu老师就给大家分享一下解决BLE的那些坑的经验,希望能帮助到更多的人。在项目中使用BLE模块时,需要注意以下问题:示例代码安卓系统扫描蓝牙设备无法成功,苹果没有问题。?解决方案:将serviceUUIDs:['','']改为serviceUUIDs:[]。如果一次扫描找不到,可以多扫描几次。安卓和苹果的设备UUID不一样。安卓是xx:xx:xx:xx:xx:xx格式,苹果是GUID格式。?解决方法:使用扫描的UUID访问设备即可。Android和Apple的ServiceUUID和ServiceCharacteristicsUUID不同(ServiceUUID和ServiceCharacteristicsUUID是父子关系)。Android是GUID格式,Apple是short格式。两者扫描的服务数量不同。苹果只扫描出用户可以调用的服务,而安卓则扫描出系统级服务。一般Android中的第三个服务是用户可以调用的。?解决方案:使用扫描得到的服务UUID的ServiceCharacteristicsUUID访问即可。最重要的一点也是为什么调用总是错误的问题。?解决方法:无论是否知道设备UUID、服务UUID,蓝牙是否开启。请务必按部就班调用:扫描设备->连接设备->获取所有服务UUID->服务UUID对应的所有服务特征UUID。这些步骤完成后,就可以调用服务UUID和对应的服务特征CharacteristicsUUID了。
