我们正在尝试制作一个可以连接到另一个运行BT和BLE应用程序的设备的设备。我们的设备正在运行android kitkat。我们面临以下问题。
一旦我们使用BT(通过BT流式传输歌曲)连接,在BLE扫描中不会检测到在同一设备上运行的BLE应用程序(即流式传输音乐)。
但被其他设备(附近的手机)检测到。
当我们使用BLE连接并进行一些数据传输,然后连接BT并从同一设备流式传输音乐时,两者都可以正常工作。
只有当我们首先连接到英国电信时,我们才能检测到BLE应用程序在同一设备上运行。
以前有人面对过这个问题吗?
在检查日志后,设备(Android)似乎确实从另一台设备(iOS)上运行的BLE应用程序中获得了广告数据包,但没有扫描响应数据包。所以它一直在等待扫描响应包。我试着寻找扫描请求功能,但找不到。
我从android堆栈的调试日志中找到了它。Stack并没有报告它在BT流式传输到应用程序期间收到的广告。它一直在等待扫描响应包。我启用了堆栈中此数据包的报告,现在可以扫描并连接到运行iOS的BLE应用程序,同时通过BT从同一iOS设备流式传输音乐。
不过有一个谜,我无法弄清楚为什么iPhone在通过BT传输时不发送扫描响应。如果我弄清楚了,会更新。