低功耗蓝牙(BLE)设备的通信基本协议是 GATT, 要操作 BLE 设备,第一步就是要连接设备,其实就是连接 BLE 设备上的 GATT service.
APP层通过调用如下方法,来创建一个 GATT 连接的:
mBluetoothGatt = device.connectGatt(this, false, mGattCallback);
这里调用了方法 connectGatt(),我们来看一下源码,代码在
2423 @RequiresBluetoothConnectPermission
2424 @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)
2425 public BluetoothGatt connectGatt(Context context, boolean autoConnect,
2426 BluetoothGattCallback callback) {
2427 return (connectGatt(context, autoConnect, callback, TRANSPORT_AUTO));
2428 }
中间多次重写connectGatt方法,最终跳转到如下方法
...
2533 @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CO