使用Android连接蓝牙

时间:2013-06-03 20:56:22

标签: android bluetooth

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

我已经将设备的MAC地址放入字符串中,我设法将Mac地址发送到我将进行连接的新活动。问题是我不明白如何...

我一直在尝试使用http://developer.android.com/guide/topics/connectivity/bluetooth.html并且它已经工作到目前为止但是当谈到连接部分时我再也听不懂了。

它谈到了一个UUID,但它并没有告诉我在哪里找到它,经过一些研究和测试我发现它不能是一个字符串,在网上找到的一个例子中,有人正在解析一个字符串或者进入UUID并且数字看起来不像MAC地址......

到目前为止,这就是我认为应该完成连接的地方

try {
            tmp = device.createRfcommSocketToServiceRecord(MY_UUID);

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

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

提前致谢

2 个答案:

答案 0 :(得分:1)

不能直接回答你的问题,但我为电子LED显示屏设计了一个控制器,然后根据SDK中的蓝牙聊天示例编写了一个Android应用程序,以便通过我的手机将信息发送到标志

点击此处:项目BluetoothSignController,您可以看到有关android部分如何工作的截图和代码示例here

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

答案 1 :(得分:1)

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

具体来说,连接蓝牙设备的代码如下: https://github.com/janosgyerik/bluetoothviewer/blob/master/src/net/bluetoothviewer/BluetoothChatService.java

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

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