2

我正在开发一个 Android 应用程序,其目的是连接到正在等待输入并且已经与我的手机配对的蓝牙设备。

我已经将设备的 MAC 地址转换成一个字符串,并且我设法将 Mac 地址发送到一个新的活动中,我将在其中进行连接。问题是我不明白怎么...

我一直在尝试使用http://developer.android.com/guide/topics/connectivity/bluetooth.html到目前为止它一直有效,但是当涉及到连接部分时,我就无法理解了。

它谈到了一个 UUID,但它没有告诉我在哪里可以找到它,经过一些研究和测试,我发现它不能是一个字符串,并且在我在网上找到的一个示例中,有人正在将一个 String 或 INt 解析为 UUID这些数字看起来一点也不像 MAC 地址......

这就是我到目前为止所拥有的,我认为应该在哪里进行连接

try {
            tmp = device.createRfcommSocketToServiceRecord(MY_UUID);

我找不到那个 UUID,也不知道如何将我的 Mac 地址投射到它上面。

如果一切都错了,是否有人有一个清晰且完整的代码示例来解释如何连接到设备以及我应该如何处理 MAC 地址?我似乎找不到任何清晰的东西并在网上工作......

提前致谢

4

2 回答 2

1

您可以在开源 BluetoothViewer 应用程序中找到完整的工作示例: https ://github.com/janosgyerik/bluetoothviewer

具体连接到蓝牙设备的代码在这里: https ://github.com/janosgyerik/bluetoothviewer/blob/master/src/net/bluetoothviewer/BluetoothChatService.java

UUID 是您自己生成的,只需将其作为常量保存在您的应用程序中即可。我不太确定这样做有什么意义,但这就是它的工作原理。uuidgen您可以使用命令行工具生成 UUID ,无需参数即可运行。在 Mac OS Xuuidgen中应该默认安装,在 Debian(可能还有 Ubuntu)中它在uuid-runtime包中。

我正是为此目的创建了这个 Android 应用程序:调试与您想要连接的任何蓝牙设备的连接,观察和理解它的协议。我希望你会发现这很有帮助。

于 2013-06-03T21:56:08.857 回答
1

不是您的问题的直接答案,但我为电子 LED 显示屏设计了一个控制器,然后基于 SDK 中的蓝牙聊天示例编写了一个 android 应用程序,以便用我的手机向标志发送消息

在此处查看:该项目的BluetoothSignController ,您可以在此处查看有关 android 部分如何工作的一些屏幕截图和代码示例

希望这可以告诉您如何将手机连接到您要连接的任何东西。您不需要 MAC 地址,只需扫描和配对。

于 2013-06-03T21:00:12.763 回答