我正在尝试通过设置计时器并手动调用
为什么
BluetoothGatt.disconnect()
来在我的蓝牙GATT服务上实现自己的超时。但是,如果断开连接是由远程设备触发的,回调不会像通常发生的那样被调用。还有一个来自BluetoothGatt
的日志表明已经调用了断开连接函数。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
没有被调用?对于另一个回调和操作它很有效。