Asynchronous Device Discovery

We have new support in version 3 for ‘live’ discovery that’s where the application can get notification of each in-range device as it is discovered, instead of just getting the list of device at completion (as was previously provided by the DiscoveryDevices and End-/BeginDiscoveryDevices methods). The new method is provided on class BluetoothComponent with events DiscoverDevicesProgress and DiscoverDevicesComplete and method DiscoverDevicesAsync.

This feature is supported on most platforms (Microsoft WM and Win32 (Windows 7), Broadcom (both), Bluetopia etc). The one platform that cannot be supported and will return no 'live' devices is MSFT on Windows XP.

SelectBluetoothDeviceForm was updated to use this feature in version 3.3.

Last edited Jul 2, 2012 at 5:29 PM by alanjmcf, version 6


engenb Mar 16, 2015 at 8:58 PM 
I have a requirement to select/connect a device before discovery completes. With async discovery, there's no point in making the user wait until discovery completes if the device they want is the 1st discovered. However, I see now way to cancel discovery and BluetoothClient:BeginConnect throws an exception if invoked while discovery is in progress.

rumit311 Mar 12, 2013 at 7:35 PM 
Hello alanjmcf, could you provide a sample code (C#) for this function? Basically, I want to understand the sequence of events and I also want to know whether I can make it work for pairing and connecting to the multiple devices?

alanjmcf Jan 3, 2012 at 3:43 PM 
Thanks for letting us know.

gingsjo Dec 20, 2011 at 12:28 PM 
This works well on Windows CE 6.