Bluetooth Device Companion Apps for Windows 10

Download this episode

Download Video

Download captions

Download Captions


Don't leave your device without a companion! Ease user frustration and market yourselves to potential customers by delivering a performant app experience on Windows 10. With the new Bluetooth in app pairing APIs, it is easy to guide users down the righteous path and prevent common pitfalls of the pairing process. Learn how to query for nearby Bluetooth devices, gain user consent and quickly set up your Bluetooth LE device.



Session Type:






Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • User profile image

      I've created a Japanese translation of the document .
    • User profile image


      I tried to implement what you showed in our App but I didn't succeed to retrieve the GattService.

      I call the DeviceInformationCustomPairing.PairAsync, the system prompt the confirm dialog, I start my Watcher :

      string selector = "(" + GattDeviceService.GetDeviceSelectorFromUuid(Constants.MIXFADER_DATA_MAIN_SERVICE_UUID) + ") AND (System.DeviceInterface.Bluetooth.DeviceAddress:=\"" + bleDeviceAddress.ToString("X") + "\")";

      _gattServiceWatcher = DeviceInformation.CreateWatcher(selector);

      And if I call to GattDeviceService.FromIdAsync(args.Id) the response is always null.

      I also tried to the GetGattService method from BluetoothLEDevice but the result is the same.

      Can you help me ?

      One more thing, I couldn't find the source code in GitHub, can you give me a link please ?

      Thanks you,


    • User profile image

      Code for this session (and all the other code samples presented by Bluetooth at //Build) can be found here:

    • User profile image



      Thanks for the code. 

      I've looked at it and I don't know if it is by design or not but you create multiple GattServiceWatcher. It's one of these instances which can access the GattService.

      If I change your code to only create one GattServiceWatcher, I can't access my GattService anymore :/


      If you want we can talk about it by mail.

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.