diff --git a/blessed/src/main/java/com/welie/blessed/BluetoothCentralManager.java b/blessed/src/main/java/com/welie/blessed/BluetoothCentralManager.java index ec0156e..eb1af95 100644 --- a/blessed/src/main/java/com/welie/blessed/BluetoothCentralManager.java +++ b/blessed/src/main/java/com/welie/blessed/BluetoothCentralManager.java @@ -1134,10 +1134,18 @@ private void handleAdapterState(final int state) { Logger.d(TAG,"bluetooth turned off"); break; case BluetoothAdapter.STATE_TURNING_OFF: - expectingBluetoothOffDisconnects = true; - // Stop all scans so that we are back in a clean state // Note that we can't call stopScan if the adapter is off + if (isScanning()) { + stopScan(); + } + + if(isAutoScanning()) { + stopAutoconnectScan(); + } + + expectingBluetoothOffDisconnects = true; + cancelTimeoutTimer(); cancelAutoConnectTimer(); currentCallback = null;