Egret社区
蓝牙,平常你用的多吗?
上班路上戴着蓝牙耳机听音乐、看视频
打开蓝牙分享个人热点给小伙伴们
解锁共享单车时,打开蓝牙就能迅速解锁
......

BLE—蓝牙低能耗技术,方便了我们的生活,但是开发者在开发过程中却遇到了不少坑,尤其对小白用户来说坑真的太多了,都是安卓、iOS系统惹的祸。

今天,柚子君给大家分享一个解决BLE那些坑的经验,希望能帮助更多人。

项目中用到BLE模块时,要注意以下问题:

❶ 用示例代码安卓系统扫描蓝牙设备就无法成功,而苹果则没问题。

✓ 解决办法:将serviceUUIDs: ['', '']改为serviceUUIDs: []即可。一次扫描不出来可以多扫描几次。

❷ 安卓和苹果的设备UUID不一样,安卓为xx:xx:xx:xx:xx:xx格式,苹果为GUID格式。

✓ 解决办法:以你扫描获取的UUID访问设备就行了。
❸ 安桌和苹果的服务UUID和服务特征CharacteristicsUUID不一样(服务UUID和服务特征CharacteristicsUUID是父子关系)。
安卓为GUID格式,苹果为短格式。两者扫描出的服务数也不一样,苹果只扫描出用户能调用的,安卓会把系统级的也扫描出来,安卓一般第3个服务是用户能调用的。
✓ 解决办法:以你扫描获取的获取的服务UUID的服务特征CharacteristicsUUID访问就行了。

❹ 最重要的一点,也是为什么调用老不对的问题。

✓ 解决办法:不管你是否知道设备UUID,服务UUID,蓝牙是否打开。请一定要按步骤调用:扫描设备->连接设备->获取所有服务UUID

->服务UUID对应的所有服务特征CharacteristicsUUID。这些步骤走完了,才能调用服务UUID和对应的服务特征CharacteristicsUUID。

本文作者:APICloud 版主 scmyzyh

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部