Android蓝牙Socket通信流程解析。Android的蓝牙部分暂且分为2.0,4.0,虽然苹果已经出了5.0版本了,咱先不说这个。 简单讲解一下,4.0是兼容2.0的功能的,今天讲的bluetoothSocket通信是在2.0上面就已经有了。
Android手机蓝牙跟硬件蓝牙交互一般都是用的bluetoothGatt.
Android手机跟手机蓝牙通信一般用的是bluetoothSocket.
这里我暂且把要连接的设备叫客户端,扫描以及请求配对都由客户端操作,被连接的设备叫做服务端。
流程:(双方蓝牙都在打开并且服务端在可检测的情况下)
客户端–>扫描到服务端–>通过扫描到bluetoothDevice获取bluetoothSocket(UUID);再用
bluetoothSocket.connect();连接服务端,这里的UUID是服务端指定的UUID
服务端–>通过蓝牙适配器获取BluetoothServerSocket(Name,UUID);–Name跟UUID都有自己指定;客户端通过这个UUID连接服务端,建立双方通信。
服务端:
OutputStream outputStream;
BluetoothServerSocket serverSocket;
private void startServer(){
//新建线程,并且使服务端做好接收准备
new Thread(new Runnable() {
@Override
public void run() {
try {
//name以及UUID由服务端指定