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

问题描述:

我试图做一个应用程序,从其他设备接收一些二进制数据,这是而不是运行Android。 Android手机不应该将任何数据传输到此设备。因此,我的问题:Android手机和支持蓝牙的硬件设备之间的蓝牙通信

  1. 手机应该作为建立RCOMM通道的服务器?
  2. 只要我知道设备的MAC地址,是否可以连接手机和本设备而不削减?如果是这样,怎么样?

是的,我已阅读http://developer.android.com/guide/topics/connectivity/bluetooth.html所以没有必要只回答该链接。 :)

在此先感谢!

1) 电话应该充当接收机

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

如果连接两部手机,你应该产生的,一切都正常工作,但你的硬件,你可以不是轻易改变UUID。 看看这些reserved UUIDs

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

2) 你可以可以连接到设备,如果你已经知道MAC地址,你甚至不需要使用蓝牙发现。

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

另请参阅checkBluetoothAddress(String)以验证MAC地址。