public async void ToggleWatcher() { await Dispatcher.DispatchAsync(() => { if (IsWatcherStarted == false) { BluetoothLEScanningMode convertedScanningMode = BluetoothLEScanningMode.Passive; if (scanningMode == MonitorScanningMode.Active) { convertedScanningMode = BluetoothLEScanningMode.Active; } else if ((scanningMode == MonitorScanningMode.None) && ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 10)) { convertedScanningMode = BluetoothLEScanningMode.None; } Context.StartAdvertisementWatcher(convertedScanningMode); } else { Context.StopAdvertisementWatcher(); } }); }
public void StartAdvertisementWatcher(BluetoothLEScanningMode scanningMode) { if (!AdvertisementWatcherStarted) { Advertisements.Clear(); advertisementWatcher.ScanningMode = scanningMode; if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 10)) { advertisementWatcher.AllowExtendedAdvertisements = true; } advertisementWatcher.Start(); AdvertisementWatcherStarted = true; } }