Android手机和支持蓝牙的硬件设备之间的蓝牙通信

时间:2012-06-27 15:00:52

标签: android bluetooth

我正在尝试创建一个应用程序,该应用程序从运行android的其他设备接收一些二进制数据。 Android手机不应将任何数据传输到此设备。所以我的问题:

  1. 手机是否应该作为建立RCOMM频道的服务器?
  2. 只要我知道设备的MAC地址,是否可以不用配对连接手机和本设备?如果是这样,怎么样?
  3. 是的,我已阅读http://developer.android.com/guide/topics/connectivity/bluetooth.html,因此无需仅回答该链接。 :)

    提前致谢!

1 个答案:

答案 0 :(得分:2)

1) 电话应该充当接收器

我发现棘手的部分是使用正确的UUID

如果您连接两部手机,您应该生成这些手机并且一切正常,但在您的硬件上,您无法轻松更改UUID。 看看这些reserved UUIDs

对于串行端口配置文件(SPP)通信,请使用UUID 00001101-0000-1000-8000-00805F9B34FB

2) 如果您已经知道MAC地址,可以连接到没有配对的设备,您甚至不需要使用BlueTooth发现。

使用MAC地址呼叫getRemoteDevice(String)获取设备 然后createRfcommSocketToServiceRecord(UUID)获取BlueToothSocket

另请查看checkBluetoothAddress(String)以验证MAC地址。