1

我在使用 PyBlueZ 编写的 Ubuntu 桌面上运行了一个蓝牙服务器。该服务器正在通过 UUID 宣传某个服务。我已经使用我也用 PyBlueZ 编写的客户端彻底测试了这个服务器。

现在我正在尝试使用 BlueCove 实现 Java 客户端。我的 BlueCove 客户端可以成功找到我的桌面(我通过打印出“用户友好名称”进行了检查)。但是,当我在桌面上搜索广告 UUID 的服务时,没有找到任何服务。我没有收到错误或任何东西,我只是没有收到发现服务的任何回调。

连接这两个系统时是否有任何异常情况?UUID 是相同的,尽管我注意到 PyBlueZ 格式要求 UUID 中的破折号“-”,而 BlueCove 需要一个连续的十六进制数字字符串。我认为这纯粹是一个表象问题。

最后,在一个不相关的问题上,那里有 BlueCove 社区吗?我一直在想出资源极度短缺来找到我的 BlueCove 问题的答案......

4

1 回答 1

2

我犯的错误是我没有意识到 searchServices() 是一种异步方法,它需要与设备发现一样多的时间来执行。我不是 sleep()'ing 给它一个寻找服务的机会。

现在我给了 searchServices() 时间来完成,它至少在调用 serviceDiscovered 回调。

于 2012-03-22T05:30:23.010 回答