我正在尝试制作一个应用程序,该应用程序使用Android的新蓝牙低功耗API。为此,我从API 18级开始使用BLE示例。
由于我读到Android不能作为外围设备,因此我将Android手机设置为中央模式,扫描周围的BLE设备。为此,我使用了一些模拟心率传感器的北欧平台进行测试。一切都完美运行!
之后,我尝试选择一个iPhone(iOS 7 beta 4)并将其放置在外围设备上,模拟先前的测试中的心率传感器。Android应用程序能够看到该设备并连接到它。但是在连接处于活动状态之后,两个设备会在3-4秒内断开连接。除此之外,在Android端调用discoverServices()时,没有触发任何回调!在某些情况下,即使iOS蓝牙芯片关闭,Android设备也会收到“已连接”事件。这非常奇怪。为了证明这一点,我将北欧板设置为中央模式,并且能够正确地连接到iOS设备而没有任何问题。
这可能是什么原因呢?Android或iOS存在一些限制,不允许从Android连接到iOS,或者反过来吗?
谢谢。
编辑:经过一番艰苦的测试,我在AOSP页面上提出了一个问题。可以在这里查看。