stopNotify method
stopNotify stops listening to notifications from a BLE characteristic.
Implementation
@override
Future<bool?> stopNotify({
required String serviceUuid,
required String characteristicUuid,
}) async {
if (_connectedDevice == null) {
log("Not connected to any device");
return false;
}
final service = _connectedDevice!.gattServices.firstWhereOrNull((element) {
return element.uuid.toString().toLowerCase() == serviceUuid.toLowerCase();
});
if (service == null) {
log("Service not found: $serviceUuid");
return false;
}
final characteristic = service.characteristics.firstWhereOrNull((element) {
return element.uuid.toString().toLowerCase() == characteristicUuid.toLowerCase();
});
if (characteristic == null) {
log("Characteristic not found: $characteristicUuid");
return false;
}
if (_notifications.containsKey(characteristic.uuid)) {
_notifications[characteristic.uuid]?.cancel();
_notifications.remove(characteristic.uuid);
}
if (!characteristic.notifying) {
log("Characteristic not notifying: $characteristicUuid");
return false;
}
await characteristic.stopNotify();
return true;
}