gpt4 book ai didi

android - BluetoothGattServer cancelConnection 不取消连接

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:57:26 29 4
gpt4 key购买 nike

我有公开 BLE 服务器的 Android 应用程序。我连接 BluetoothGattServer#connect .它有效 - 我的应用程序调用 BluetoothGattServerCallback#onConnectionStateChangeSTATE_CONNECTED .当我完成客户端后,我尝试使用 BluetoothGattServer#cancelConnection 断开与我的应用程序的连接。 .

但我没有接到 BluetoothGattServerCallback#onConnectionStateChange 的电话 似乎连接仍然有效,因为我的 BLE 客户端没有开始做广告(当没有任何连接时它会做广告)。

在 logcat 中我只看到:

BluetoothGattServer: cancelConnection() - device: XX:XX:XX:XX:XX:XX

有趣的是,我的应用程序调用了 BluetoothGattServerCallback#onConnectionStateChangeSTATE_DISCONNECTED一旦我完全关闭 BT。

Google 跟踪器中的类似问题:6346163464 .

最佳答案

当newState==BluetoothProfile.STATE_CONNECTED时,必须调用BluetoothGattServer.connect();。

@Override
public void onConnectionStateChange(BluetoothDevice device, int status, int newState) {
super.onConnectionStateChange(device, status, newState);
if (newState == BluetoothProfile.STATE_CONNECTED){
mDevice = device;
mBluetoothGattServer.connect(device, false);
}else {
mDevice = null;
}
}

private void cancelConnection(){
if (mDevice != null) {
mBluetoothGattServer.cancelConnection(mDevice);
}
}

关于android - BluetoothGattServer cancelConnection 不取消连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38762758/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com