/// <summary> /// Parses advertisement data and stores them to a file. /// Function is called from the background task. /// </summary> /// <param name="triggerDetails">Trigger details</param> /// <returns></returns> public async Task ProcessTriggerDetails(BluetoothLEAdvertisementWatcherTriggerDetails triggerDetails) { if (triggerDetails != null) { foreach (var bleAdvertisementReceivedEventArgs in triggerDetails.Advertisements) { if(bleAdvertisementReceivedEventArgs.Advertisement != null) { if (bleAdvertisementReceivedEventArgs.Advertisement.DataSections != null) { foreach (var item in bleAdvertisementReceivedEventArgs.Advertisement.DataSections) { bool exit = false; if (bleAdvertisementReceivedEventArgs.RawSignalStrengthInDBm == triggerDetails.SignalStrengthFilter.OutOfRangeThresholdInDBm) exit = true; SaveBeaconToBeaconEntriesList(item.Data.ToArray(),exit); } } } } } if (_beaconEntries != null && _beaconEntries.Count > 0) { await WriteEntriesToFileAsync(); } }
/// <summary> /// Parses advertisement data and stores them to a file. /// Function is called from the background task. /// </summary> /// <param name="triggerDetails">Trigger details</param> /// <returns></returns> public async Task ProcessTriggerDetails(BluetoothLEAdvertisementWatcherTriggerDetails triggerDetails) { if (triggerDetails != null) { foreach (var bleAdvertisementReceivedEventArgs in triggerDetails.Advertisements) { if (bleAdvertisementReceivedEventArgs.Advertisement != null) { if (bleAdvertisementReceivedEventArgs.Advertisement.DataSections != null) { foreach (var item in bleAdvertisementReceivedEventArgs.Advertisement.DataSections) { bool exit = false; if (bleAdvertisementReceivedEventArgs.RawSignalStrengthInDBm == triggerDetails.SignalStrengthFilter.OutOfRangeThresholdInDBm) { exit = true; } SaveBeaconToBeaconEntriesList(item.Data.ToArray(), exit); } } } } } if (_beaconEntries != null && _beaconEntries.Count > 0) { await WriteEntriesToFileAsync(); } }
/// <summary> /// Constructs Beacon instances from the trigger data and adds recognized beacons to the _beacons list. /// </summary> private List<Beacon> TriggerDetailsToBeacons(BluetoothLEAdvertisementWatcherTriggerDetails triggerDetails) { List<Beacon> beacons = new List<Beacon>(); if (triggerDetails != null) { foreach (var bleAdvertisementReceivedEventArgs in triggerDetails.Advertisements) { Beacon beacon = BeaconFactory.BeaconFromBluetoothLeAdvertisementReceivedEventArgs(bleAdvertisementReceivedEventArgs); beacons.Add(beacon); } } return beacons; }
/// <summary> /// Constructs Beacon instances from the trigger data and adds recognized beacons to the _beacons list. /// </summary> private List <Beacon> TriggerDetailsToBeacons(BluetoothLEAdvertisementWatcherTriggerDetails triggerDetails) { List <Beacon> beacons = new List <Beacon>(); if (triggerDetails != null) { foreach (var bleAdvertisementReceivedEventArgs in triggerDetails.Advertisements) { Beacon beacon = BeaconFactory.BeaconFromBluetoothLeAdvertisementReceivedEventArgs(bleAdvertisementReceivedEventArgs); beacons.Add(beacon); } } return(beacons); }
/// <summary> /// Constructs Beacon instances from the trigger data and adds recognized beacons to the _beacons list /// </summary> /// <param name="triggerDetails"></param> private void TriggerDetailsToBeacons(BluetoothLEAdvertisementWatcherTriggerDetails triggerDetails) { if (triggerDetails != null) { foreach (var bleAdvertisementReceivedEventArgs in triggerDetails.Advertisements) { Beacon beacon = BeaconFactory.BeaconFromBluetoothLEAdvertisementReceivedEventArgs(bleAdvertisementReceivedEventArgs); _beacons.Add(beacon); } } }