BLE onScanResult how to compare the uuids against a fix service value

Hi developers,

I would need some help, as I am fighting since 2 days on a simple problem.

I used the Nordic BLE example:

https://github.com/fabiobaltieri/ciq-nrf-blinky

as a template for my BLE project.

Now I run into the problem, that the device name is not reported by BLE scan result. This is a known issue in the SDK:

 https://forums.garmin.com/developer/connect-iq/i/bug-reports/connect-iq-ble-advertising-layer-parsing-bug-prevent-many-devices-to-function-properly-paired-or-not-paired-toybox-bluetoothlowenergy-scanresult-getrawdata-getservicedata-getserviceuuids-are-broken

As a workaround I want to compare the UUID instead of the device name in my project, as the UUID is found in the BLE scan correctly.

=> But how to compare the UUID provided via getServiceUuids() against a fix value?

Sounds simple, tried many times with printf debugging (log), no solution found.

Some code snippets:

	function initialize() {
		SERVICE = Ble.stringToUuid("19067010-db9e-4075-a5b5-e6df36619906");
		READ_CHAR = Ble.stringToUuid("19067011-db9e-4075-a5b5-e6df36619906");
		READ_DESC = Ble.cccdUuid();
		WRITE_CHAR = Ble.stringToUuid("19067012-db9e-4075-a5b5-e6df36619906");
		SCAN_TIMEOUT = 5;
		RESCAN_DELAY = 10;

		BleDevice.initialize();
	}
	
	function onScanResults(scanResults) {
		debug("scan results");
		var appearance, name, rssi, rawdata;
		var mfg, uuids, service;
		for (var result = scanResults.next(); result != null; result = scanResults.next()) {
			if (result instanceof Ble.ScanResult) {
				appearance = result.getAppearance();
				name = result.getDeviceName();
				rssi = result.getRssi();
				mfg = result.getManufacturerSpecificDataIterator();
				uuids = result.getServiceUuids();
				rawdata = result.getRawData();

				debug("device: appearance: " + appearance + " name: " + name + " rssi: " + rssi);
				debug("result raw: " + rawdata);

				debug("Vor matchDevice");
				if (matchDevice(name, mfg, uuids)) {
				//if (appearance==4660) {
					connect(result);
					return;
				}
			}
		}
	}
	
	protected function matchDevice(name, mfg, uuids) {
		//dumpUuids(uuids);
		//dumpUuids(UUID_COMPARE);
		//dumpMfg(mfg);

		// if (name != null && (
		// 	name.equals(DEVICE_NAME) ||
		// 	name.equals(DEVICE_NAME_Z))) {
		// 	return true;
		// }
		var uuidString = uuids.String;

		debug("SERVICE: " + SERVICE);
		debug("uuidString: " + uuidString);

		if (uuids.equals(SERVICE)) {
			debug("matchDevice: Found");
			return true;
		}
		debug("matchDevice: NOT Found");
		return false;
	}
	

Main question is on line 53 the does not work....

Thanks for support.

Best Regards Sven