我正在尝试使用Android的蓝牙低功耗与BLE设备进行通信。我第一次连接时,一切正常(连接到GATT服务器工作,发现所有服务和特性等)但是,如果我断开连接并尝试重新连接,它将连接到GATT服务器,但不会能够发现这些服务。我必须杀死应用程序并重新启动它,有时即使这样也行不通。
这是我用来与设备断开连接的代码:
public void close(View view) {
if (mBluetoothGatt == null) {
return;
}
mBluetoothGatt.close();
mBluetoothGatt = null;
}
断开连接时还有什么需要做的吗?当我尝试重新连接时,似乎仍然存在一些仍然连接的资源阻止了服务的发现。
答案 0 :(得分:2)
我似乎找到了解决方案:您需要同时拨打BluetoothGatt.disconnect()
和BluetoothGatt.close()
。