【发布时间】:2015-03-04 23:14:26
【问题描述】:
我正在尝试通过安排一个计时器并手动调用BluetoothGatt.disconnect() 在我的蓝牙 GATT 服务上实现我自己的超时。但是如果从远程设备触发断开连接,则不会像通常发生的那样调用回调。还有来自BluetoothGatt的日志是调用了disconnect函数
D/BluetoothGatt﹕ cancelOpen() - device: 00:07:80:04:1A:5A
这是我断开连接的代码
private void scheduleDisconnect() {
isTimerRunning = true;
disconnectTimer = new Timer();
disconnectTimer.schedule(new TimerTask() {
@Override
public void run() {
isTimerRunning = false;
disconnect();
}
}, 2000);
}
为什么没有调用onConnectionStateChange?
它适用于另一个回调和操作
【问题讨论】:
-
我遇到了同样的问题。它是如此随机。我调用了 disconnect() 和 close() 方法。 onConnectionStateChange 有时会调用,但并非总是如此。
标签: android bluetooth bluetooth-lowenergy gatt