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



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

  1. 电话是否应该充当建立 RCOMM 信道的服务器?
  2. 只要我知道设备的 MAC 地址,是否可以在不配对的情况下连接手机和此设备?如果是这样,如何?

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

提前感谢!

1)电话应充当接收器

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

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

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

2)如果您已经知道 MAC 地址,则可以在不配对的情况下连接到设备,甚至不需要使用蓝牙发现。

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

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

最新更新