我在使用PyBlueZ编写的Ubuntu桌面上运行了蓝牙服务器。该服务器通过UUID宣传某项服务。我使用我用PyBlueZ编写的客户端彻底测试了这个服务器。
现在我正在尝试使用BlueCove实现Java客户端。我的BlueCove客户端可以成功找到我的桌面(我通过打印出“用户友好名称”进行检查)。但是,当我在桌面上为广告的UUID进行服务搜索时,找不到任何服务。我没有收到错误或任何错误,我根本没有得到任何发现的服务的回调。
连接这两个系统时可能会发生什么异常吗? UUID是相同的,虽然我注意到PyBlueZ格式在UUID中要求破折号“ - ”,而BlueCove期望一个连续的十六进制数字串。我认为这是一个纯粹的表达问题。
最后,在一个无关紧要的问题上,有没有BlueCove社区?我一直在寻找资源的极度缺乏来寻找我的BlueCove问题的答案......
答案 0 :(得分:2)
我犯的错误是我没有意识到searchServices()是一个异步方法,需要花费尽可能多的时间来执行设备发现。我没有睡觉()让它有机会找到服务。
既然我已经给了searchServices()时间,它至少会调用serviceDiscovered回调。