【BLE】CC2541安卓手机搜索不到设备服务的UUID

在做OAD无线升级处理的时候遇到一个问题,从imageA状态升级到imageB状态,但是安卓的设备扫描的服务的UUID没有发生变化(imageA服务的UUID和imageB服务的UUID不同),安卓设备扫描的服务的UUID还是原来的升级前imageA的服务UUID的状态,这样就导致了,我无法进行命令发送读写。(iOS设备不存在这样的问题),个人猜测是安卓设备本身对蓝牙搜素直接通过判断是否是相同mac地址,从缓存直接读取了以前配置服务的UUID状态,并没有刷新最新的设备的UUID的状态。
解决:
方法1:在安卓设备中,同一设备即同一mac地址设备的imageA服务的UUID和image B的服务的UUID要保证一致性,这样可以避免这个问题。
方法2:在安卓设备中,同一设备即同一mac地址设备的imageA和imageB服务的UUID发生变化时,需要重启一下蓝牙(即先关闭蓝牙再打开蓝牙,重启手机方式也是为了重启蓝牙),这样打开app搜索设备的服务的UUID会更新到最新的状态。


参考解决方式:
安卓系统清零蓝牙缓存


现象:
发送命令返回状态1(失败):(经常出现)
1
发送命令返回状态2(失败):(经常出现)
2
发送命令返回状态3(成功):(偶尔出现)
3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值