CompanionDeviceManager 'onDeviceFound' Callback Function Not Being Called if searched by uuid

Viewed 350

I am trying to use CompanionDeviceManager to pair BLE devices by specific UUID list without success. using deviceFilterBuilder.setNamePattern(Pattern.compile(DEVICE_NAME)) works. another question is how can i add multiple uuids to ScanFilter.

   deviceManager = currentActivity.getSystemService(CompanionDeviceManager.class);

    BluetoothLeDeviceFilter.Builder deviceFilterBuilder = new BluetoothLeDeviceFilter.Builder();

    ScanFilter filter = new ScanFilter.Builder().setServiceUuid(ParcelUuid.fromString(uuidString)).build();

   deviceFilterBuilder.setScanFilter(filter);
    deviceFilter = deviceFilterBuilder.build();

    pairingRequest = new AssociationRequest.Builder()
            .addDeviceFilter(deviceFilter)
            .build();

    deviceManager.associate(pairingRequest,
            new CompanionDeviceManager.Callback() {
                @Override
                public void onDeviceFound(IntentSender chooserLauncher) {
                    try {

                        currentActivity.startIntentSenderForResult(chooserLauncher,
                                SELECT_DEVICE_REQUEST_CODE, null, 0, 0, 0);
                    } catch (IntentSender.SendIntentException e) {
                        e.printStackTrace();
                    }
                    Log.d("test", "error");

                }

                @Override
                public void onFailure(CharSequence charSequence) {
                    Log.d("test", "error");
                }
            },
            null);
0 Answers
Related