diff --git a/android/src/main/java/com/bleplx/adapter/BleModule.java b/android/src/main/java/com/bleplx/adapter/BleModule.java index 44392b65..e16a39fe 100755 --- a/android/src/main/java/com/bleplx/adapter/BleModule.java +++ b/android/src/main/java/com/bleplx/adapter/BleModule.java @@ -211,6 +211,9 @@ public void stopDeviceScan() { scanSubscription.dispose(); scanSubscription = null; } + + // Clear discovered devices cache to ensure devices can be rediscovered after disconnection + discoveredDevices.clear(); } @Override @@ -1300,6 +1303,9 @@ private void onDeviceDisconnected(RxBleDevice rxDevice) { return; } + // Remove device from discovered devices cache so it can be rediscovered during scans + discoveredDevices.remove(rxDevice.getMacAddress()); + cleanServicesAndCharacteristicsForDevice(device); connectingDevices.removeSubscription(device.getId()); }