async Task GetOrRegisterProximityTaskAsync() { // This technique also valid for the Pedometer where you can specify // a particular step count. var deviceInfoList = await DeviceInformation.FindAllAsync( ProximitySensor.GetDeviceSelector()); var deviceInfo = deviceInfoList.FirstOrDefault(); if (deviceInfo != null) { var proximtySensor = ProximitySensor.FromId(deviceInfo.Id); var threshold = new ProximitySensorDataThreshold(proximtySensor); var trigger = new SensorDataThresholdTrigger(threshold); this.proximityTaskRegistration = FindOrRegisterBackgroundTaskFromLibrary( "Proximity Trigger", trigger); } }
/// <summary> /// Registers the background task. /// </summary> private void RegisterBackgroundTask() { var builder = new BackgroundTaskBuilder() { Name = SampleBackgroundTaskName, TaskEntryPoint = SampleBackgroundTaskEntryPoint }; // create a Proximity data threshold var threshold = new ProximitySensorDataThreshold(sensor); // create a trigger using the threshold var trigger = new SensorDataThresholdTrigger(threshold); builder.SetTrigger(trigger); BackgroundTaskRegistration task = builder.Register(); task.Completed += new BackgroundTaskCompletedEventHandler(OnCompleted); registered = true; UpdateUIAsync("Registered"); }