private async void RegisterBackgroundTask() { UnregisterBackgroundTask(); try { BackgroundAccessStatus status = await BackgroundExecutionManager.RequestAccessAsync(); Debug.WriteLine("BackgroundAccessStatus: " + status); } catch (Exception ex) { Debug.WriteLine(ex.Message); } // A background task can be registered even if lock screen access was denied. BackgroundTaskBuilder builder = new BackgroundTaskBuilder(); builder.Name = taskName; builder.TaskEntryPoint = "QuestionsBackgroundTasks.TimerTask"; builder.SetTrigger(new TimeTrigger(15, false)); BackgroundTaskRegistration task = builder.Register(); taskCompletedHandler = new BackgroundTaskCompletedEventHandler(OnTaskCompleted); task.Completed += OnTaskCompleted; }
public MainPage() { this.InitializeComponent(); updateBGStatus(); _progressEventHandler = new BackgroundTaskProgressEventHandler(OnProgress); _taskCompletedHandler = new BackgroundTaskCompletedEventHandler(OnCompleted); }
public MainPage() { this.InitializeComponent(); updateBGStatus(); _progressEventHandler = new BackgroundTaskProgressEventHandler(OnProgress); _taskCompletedHandler = new BackgroundTaskCompletedEventHandler(OnCompleted); }
protected override void OnNavigatedFrom(NavigationEventArgs e) { base.OnNavigatedFrom(e); // remove completion handler since the scenario is exiting foreach (var cur in BackgroundTaskRegistration.AllTasks) { if (cur.Value.Name == "MobileOperatorNotificationHandler") { cur.Value.Completed -= currentHandler; currentHandler = null; } } }
protected override void OnNavigatedFrom(NavigationEventArgs e) { base.OnNavigatedFrom(e); // remove completion handler since the scenario is exiting foreach (var cur in BackgroundTaskRegistration.AllTasks) { if (cur.Value.Name == "MobileOperatorNotificationHandler") { cur.Value.Completed -= currentHandler; currentHandler = null; } } }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. The Parameter /// property is typically used to configure the page.</param> protected override void OnNavigatedTo(NavigationEventArgs e) { // register for NetworkOperatorEvents to handle notifications for this network account foreach (var cur in BackgroundTaskRegistration.AllTasks) { if (cur.Value.Name == "MobileOperatorNotificationHandler") { currentHandler = new BackgroundTaskCompletedEventHandler(OnCompleted); cur.Value.Completed += currentHandler; } } MakeTetheringManagerAvailable(); // Update UI to reflect tethering state UpdateUIWithTetheringState(); }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. The Parameter /// property is typically used to configure the page.</param> protected override void OnNavigatedTo(NavigationEventArgs e) { // register for NetworkOperatorEvents to handle notifications for this network account foreach (var cur in BackgroundTaskRegistration.AllTasks) { if (cur.Value.Name == "MobileOperatorNotificationHandler") { currentHandler = new BackgroundTaskCompletedEventHandler(OnCompleted); cur.Value.Completed += currentHandler; } } MakeTetheringManagerAvailable(); // Update UI to reflect tethering state UpdateUIWithTetheringState(); }
public static bool UnRegisterBackgroundTaskEventHandlers(BackgroundTaskCompletedEventHandler complete, BackgroundTaskProgressEventHandler progress) { System.Diagnostics.Debug.WriteLine("UnRegisterBackgroundTaskEventHandlers"); IBackgroundTaskRegistration registeredTask = GetBackgroundTask(BackgroundTaskName); if (registeredTask != null) { if (complete != null) { registeredTask.Completed -= complete; } if (progress != null) { registeredTask.Progress -= progress; } return true; } // background task was not found return false; }
public static bool RegisterBackgroundTaskEventHandlers(BackgroundTaskCompletedEventHandler complete, BackgroundTaskProgressEventHandler progress) { System.Diagnostics.Debug.WriteLine("RegisterBackgroundTaskEventHandlers"); IBackgroundTaskRegistration registeredTask = GetBackgroundTask(BackgroundTaskName); if (registeredTask != null) { if (complete != null) { registeredTask.Completed += complete; } if (progress != null) { registeredTask.Progress += progress; } // we had the background task running already, thus re-using it return true; } return false; }
public static bool UnRegisterBackgroundTaskEventHandlers(BackgroundTaskCompletedEventHandler complete, BackgroundTaskProgressEventHandler progress) { System.Diagnostics.Debug.WriteLine("UnRegisterBackgroundTaskEventHandlers"); IBackgroundTaskRegistration registeredTask = GetBackgroundTask(HeartbeatMonitorBackgroundTaskName); if (registeredTask != null) { if (complete != null) { registeredTask.Completed -= complete; } if (progress != null) { registeredTask.Progress -= progress; } return(true); } // background task was not found return(false); }
/// <summary> /// Registers background task /// </summary> /// <returns></returns> public static bool RegisterBackgroundTaskEventHandlers(BackgroundTaskCompletedEventHandler complete, BackgroundTaskProgressEventHandler progress) { System.Diagnostics.Debug.WriteLine("RegisterBackgroundTaskEventHandlers"); IBackgroundTaskRegistration registeredTask = GetBackgroundTask(HeartbeatMonitorBackgroundTaskName); if (registeredTask != null) { if (complete != null) { registeredTask.Completed += complete; } if (progress != null) { registeredTask.Progress += progress; } // we had the background task running already, thus re-using it return(true); } return(false); }
private async void RegisterBackgroundTask() { UnregisterBackgroundTask(); try { BackgroundAccessStatus status = await BackgroundExecutionManager.RequestAccessAsync(); Debug.WriteLine("BackgroundAccessStatus: " + status); } catch (Exception ex) { Debug.WriteLine(ex.Message); } // A background task can be registered even if lock screen access was denied. BackgroundTaskBuilder builder = new BackgroundTaskBuilder(); builder.Name = taskName; builder.TaskEntryPoint = "QuestionsBackgroundTasks.TimerTask"; builder.SetTrigger(new TimeTrigger(15, false)); BackgroundTaskRegistration task = builder.Register(); taskCompletedHandler = new BackgroundTaskCompletedEventHandler(OnTaskCompleted); task.Completed += OnTaskCompleted; }
public static void RegisterBackgroundTask(String taskEntryPoint, String name, IBackgroundTrigger trigger, IBackgroundCondition condition, BackgroundTaskCompletedEventHandler completeHandler ) { var builder = new BackgroundTaskBuilder(); builder.Name = name; builder.TaskEntryPoint = taskEntryPoint; builder.SetTrigger(trigger); if (condition != null) { builder.AddCondition(condition); builder.CancelOnConditionLoss = true; } BackgroundTaskRegistration task = builder.Register(); if (completeHandler != null) { task.Completed += completeHandler; } }
internal async Task <BackgroundTaskRegistration> RegisterOutOfProcessBackgroundTask(string taskName, string taskEntryPoint, IBackgroundTrigger trigger, IBackgroundCondition condition = null, BackgroundTaskCompletedEventHandler taskCompleted = null) { if (IsDisposing) { return(null); } BackgroundExecutionManager.RemoveAccess(); await BackgroundExecutionManager.RequestAccessAsync(); var builder = new BackgroundTaskBuilder { Name = taskName, TaskEntryPoint = taskEntryPoint }; builder.SetTrigger(trigger); if (condition != null) { builder.AddCondition(condition); } var task = builder.Register(); if (taskCompleted != null) { task.Completed += taskCompleted; } return(task); }
public void AttachProgressAndCompletedHandlers(BackgroundTaskProgressEventHandler DelegateOnProgress, BackgroundTaskCompletedEventHandler DelegateOnComplete) { TaskRegistration.Progress += DelegateOnProgress; TaskRegistration.Completed += DelegateOnComplete; }
public static void RemoveTaskCompletedHandler( BackgroundTaskCompletedEventHandler handler) { TaskRegistration.Completed -= handler; }