最近接触了一些蓝牙通讯的知识,也就行了简单的尝试,实现了数据的收发。我所理解的蓝牙通讯开发的基本流程如下图:
客户端:
1.获取一个蓝牙适配器,该对象可以实现蓝牙的关闭与打开,扫描蓝牙设备等。
2.扫描蓝牙设备,获取附近的蓝牙设备device。
3.通过device.createRfcommSocketToServiceRecord(uuid);得到一个BluetoothSocket对象。
4.BluetoothSocket对象向远程设备发送连接请求,得到一个Socket连接
5.通过输入输出流进行数据的传递。
注意:在调用connect()前,需要通过adapter.cancelDiscovery();取消搜索蓝牙设备。
UUID客户端与服务端应当统一,类似于socket连接中的port。
服务端:
基本过程类似于客户端,大致流程图如下:
最后,附上一个简单的实现小例子的主要代码:
client.java