diff --git a/example/pubspec.lock b/example/pubspec.lock index f13a885..cd02945 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -689,10 +689,10 @@ packages: dependency: transitive description: name: universal_ble - sha256: "8e5f4e2827375900b805fe3eb6cb8a305ade2303289d9a5cba0d09a3a37fea29" + sha256: bdebe7d4ff3a24f28b5e56c999104ea1584a9de55da4ee0b4c2346bcf8f8c528 url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.3.0" uuid: dependency: transitive description: diff --git a/lib/src/managers/ble_manager.dart b/lib/src/managers/ble_manager.dart index f5eeb75..d49f32c 100644 --- a/lib/src/managers/ble_manager.dart +++ b/lib/src/managers/ble_manager.dart @@ -298,7 +298,13 @@ class BleManager extends BleGattManager { }; try { - UniversalBle.connect(device.id); + UniversalBle.connect( + device.id, + platformConfig: ConnectionPlatformConfig( + // A new Flutter engine cannot receive the old GATT client's callbacks. + android: AndroidConnectionOptions(closeGattOnDetach: true), + ), + ); } catch (error, stack) { _connectCallbacks.remove(device.id); _disconnectCallbacks.remove(device.id); diff --git a/pubspec.yaml b/pubspec.yaml index f241ced..fa7dc5b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -21,7 +21,7 @@ dependencies: typed_data: ^1.3.2 convert: ^3.1.1 permission_handler: ^12.0.1 - universal_ble: ^2.0.1 + universal_ble: ^2.3.0 logger: ^2.5.0 # for fota: equatable: ^2.0.5