我正在尝试制作一个从其他未运行 android 的设备接收一些二进制数据的应用程序。Android 手机不应将任何数据传输到此设备。那么我的问题:
- 电话是否应该充当建立 RCOMM 通道的服务器?
- 只要我知道设备的MAC地址,是否可以在不配对的情况下连接手机和该设备?如果是这样,怎么做?
是的,我已经阅读了http://developer.android.com/guide/topics/connectivity/bluetooth.html所以不需要只回答那个链接。:)
提前致谢!
我正在尝试制作一个从其他未运行 android 的设备接收一些二进制数据的应用程序。Android 手机不应将任何数据传输到此设备。那么我的问题:
是的,我已经阅读了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
.
另请查看checkBluetoothAddress(String)
验证 MAC 地址。