我正在编写一个能够与我的 PC 通信的应用程序。我已经使用了 SDK 2.1 的蓝牙功能。
我可以找到设备,获取它们的 MAC 地址,创建 RFCOMM套接字,但是当我开始连接时,我收到以下错误消息。
Service discovery failed.
- 是因为UUID吗? ,这在我的应用程序和我的 PC 上不一样?
- 如何在我的 PC 上获取正确的 UUID?
如果我写一个这样的应用程序,是我的Nexus One客户端还是服务器?
最佳答案
好的,我遇到了同样的问题,但我想我可以回答你的一些问题。如果您的 PC 打开了一个 SPP 端口,例如,通过使用“sdptool add --channel=3 SP”,您的 Android 手机将作为客户端打开一个套接字并使用此套接字连接到服务器(您的 PC 或任何其他蓝牙设备,例如,GPS、鼠标等)。
您可以通过阅读文章 Bluetooth 来获取此信息。 ,客户端的定义是我从这篇文章中取出来的。
如果您在服务器(您的 PC 等)上打开 SPP 端口,则您提供的是标准服务,并且为该服务分配了一个特殊的 UUID。这将是:00001101-0000-1000-8000-00805F9B34FB
如果我没记错的话。
所以我认为我们应该从 Android 开发人员那里得到一个合格的答案。或者在星期四的 IRC 办公时间内提出这个问题。
关于android - 蓝牙 -> 服务发现失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2207975/