Bluetooth BLE:有趣的行为

Bluetooth BLE:有趣的行为,bluetooth,bluetooth-lowenergy,Bluetooth,Bluetooth Lowenergy,我知道MOTO G的第一个版本有蓝牙问题 背景: 我的应用程序扫描附近的信标。该应用程序在所有安卓手机上都运行良好,但摩托罗拉Moto G除外,它是安卓5.1的第一版。在这部手机上,它能找到除一个以外的所有信标,扫描速度也相当快。然而,有了这个特定的信标(skybeacon),它只检测到第一个数据包,然后在查找其他数据包的同时,需要花费很长时间才能找到这个特定的信标。一个简单的结论是该规范存在问题,这可能是真的。然而,从这里开始,它变得更加有趣 为了进一步了解这一点,我从play store下载

我知道MOTO G的第一个版本有蓝牙问题

背景:

我的应用程序扫描附近的信标。该应用程序在所有安卓手机上都运行良好,但摩托罗拉Moto G除外,它是安卓5.1的第一版。在这部手机上,它能找到除一个以外的所有信标,扫描速度也相当快。然而,有了这个特定的信标(skybeacon),它只检测到第一个数据包,然后在查找其他数据包的同时,需要花费很长时间才能找到这个特定的信标。一个简单的结论是该规范存在问题,这可能是真的。然而,从这里开始,它变得更加有趣

为了进一步了解这一点,我从play store下载了其他BLE扫描仪。当我使用bluevoid的“BLE Analyzer”时,它完美地捕捉到了这个信号灯。当我移动信标时,我可以看到RSSI的变化,而且速度非常快。一旦我将BLE Analyzer推到后台并检查我们的应用程序,令人惊讶的是,我们的应用程序现在可以工作了。我重复了20/20次,只要BLE Analyzer被推到后台(按home按钮),我的应用程序就会捕捉到这个特定的信标。如果我重新启动、卸载或根本不打开BLE Analyzer,我的应用程序将无法捕获这个特定的信标

可能的解释:

  • 无论好坏,此特定信标在一个频道中进行广告,而此特定手机上的默认扫描不匹配。如果这是正确的方向,那么如何通过应用程序更改默认扫描通道

  • 这款手机可能集成了wifi、蓝牙和3G芯片,这可能是真的。当我禁用wifi时,我看不到任何行为变化。当我禁用数据(3G,而不是4G)时,它有时(10个中的2个)会开始捕获天空信标。同样,10次中有2次不是可重复的解决方案

  • 有什么想法吗