我正在尝试通过安排一个计时器并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
不叫?它适用于另一个回调和操作