Ble 作为广播方如何主动断开连接

最近有这个需求,很是头疼,试了好久都没有成功,最终还是找到了解决方法。
当我们连接成功后,会在 onConnectionStateChange 拿到回调,这里我们可以获得到device,同时我们需要拿到BluetoothGattServer。

@Override
public void onConnectionStateChange(BluetoothDevice device, int status, int newState) {
    super.onConnectionStateChange(device, status, newState);
    if (newState == BluetoothProfile.STATE_CONNECTED){
        mDevice = device;
        // 连接成功后,需要调用connect
        mBluetoothGattServer.connect(device, false);
    }else {
        mDevice = null;
    }
}

// 主动断开时,调用此方法
private void cancelConnection(){
    if (mDevice != null) {
        mBluetoothGattServer.cancelConnection(mDevice);
    }
}

你可能感兴趣的:(Ble 作为广播方如何主动断开连接)