android - 蓝牙 -> 服务发现失败

标签 android service bluetooth arduino discovery

我正在编写一个能够与我的 PC 通信的应用程序。我已经使用了 SDK 2.1 的蓝牙功能。

我可以找到设备,获取它们的 MAC 地址,创建 RFCOMM套接字,但是当我开始连接时,我收到以下错误消息。

Service discovery failed.

  1. 是因为UUID吗? ,这在我的应用程序和我的 PC 上不一样?
  2. 如何在我的 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/

相关文章:

java - 如何从远程源 (url) 获取图像并将其显示在 ImageView 中?

java - OSGI 同一服务的两个实例

android - kitkat 上的 hfp 客户端角色实现

android - 自动保存共享首选项

java - 在 ListView 中显示数据库中的数据

c# - 服务已停止,但进程仍保持一分钟

windows - 即使使用同一用户进行服务,也无法通过 Windows 服务访问 UNC 路径

android - 在蓝牙打印机上打印

ios - 在 BluetoothManager Delegate 类中访问 ViewController 按钮

android - 使用LinearLayout将按钮放在屏幕底部?